• day18 JavaScript


    1、JS 正则
    
    
    	test   - 判断字符串是否符合规定的正则
    		rep = /d+/;
    		rep.test("asdfoiklfasdf89asdfasdf")
    		# true
    		
    		rep = /^d+$/;
    		rep.test("asdfoiklfasdf89asdfasdf")
    		# true
    		
    	exec   - 获取匹配的数据
    		rep = /d+/;
    		str = "wangshen_67_houyafa_20"
    		rep.exec(str)
    		# ["67"]
    		
    		JavaScript is more fun than Java or JavaBeans!
    		var pattern = /Java(w*)/;
    		# ["JavaScript", "Script"]
    		
    		
    		JavaScript is more fun than Java or JavaBeans!
    		var pattern = /Javaw*/g;
    		# ["JavaScript"]
    		# ["Java"]
    		# ["JavaBeans"]
    		# null
    		
    		JavaScript is more fun than Java or JavaBeans!
    		var pattern = /Java(w*)/g;
    		# ["JavaScript",'Script']
    		# ["Java", ""]
    		# ["JavaBeans", "Beans"]
    		# null
    		
    	多行匹配:
    		默认就是多行匹配
    		^$
       - 登录注册验证
    		默认事件先执行:
    			checkbox
    		自定义先执行
    			a
    			submit
    			...
    		<form>
    			
    			<input type='type' />
    			<input type='password' />
    			<input type='submit' />
    			
    		</form>
       
    		$(':submit').click(function(){
    			
    			$(':text,:password').each(function(){
    				...
    				return false;
    			})
    			return false;
    		})   
       
    		input,checbox
       
        ================================== 验证 ================================
    	JS: 验证
    		 
    		 各种验证
    		 
    			$(':submit').click(function(){
    				
    				$(':text,:password').each(function(){
    					...
    					return false;
    				})
    				return false;
    			})   
    	
    	
    	后端:python实现
    	
    	业务处理
    	....
    	
    
    2、组件
    
    
    	BootStrap
    		- css
    		- js
    	学习 BootStrap 规则
    	
    	一、响应式
    		@media
    		
    	二、图标、字体
    		@font-face
    		
    	三、基本使用
    		
    	
    	========》 后台管理
    	
    	jQueryUI *
    		- css
    		- js
    	学习 jQueryUI 规则
    	
    	
    	EasyUI
    		- css
    		- js
    		
    	学习 jQueryUI 规则
    	============ Ajax操作 ================
    	
    	
    	
    	
    3、WEB框架
    
    	MVC
    		Model       View       Controller
    		数据库   模板文件    业务处理
    	
    	
    	MTV
    
    		Model    Template     View
    		数据库   模板文件    业务处理
    	
    	
    	############## WEB:MVC、MTV
    	
    4、Django
    	
    	pip3 install django
    	
    	
    	C:Python35Scripts
    	
    	# 创建Django工程
    	django-admin startproject 【工程名称】
    	
    		mysite
    			- mysite        # 对整个程序进行配置
    				- init
    				- settings  # 配置文件
    				- url       # URL对应关系
    				- wsgi      # 遵循WSIG规范,uwsgi + nginx
    			- manage.py     # 管理Django程序:
    								- python manage.py 
    								- python manage.py startapp xx
    								- python manage.py makemigrations
    								- python manage.py migrate
    		
    		
    		
    	# 运行Django功能
    	python manage.py runserver 127.0.0.1:8001
    	
    	
    	chouti
    		- chouti
    			- 配置
    		- 主站 app
    		- 后台管理 app
    	
    	
    	
    	# 创建app
    	python manage.py startapp cmdb
    	python manage.py startapp openstack
    	python manage.py startapp xxoo....
    	
    	
    	app:
    		migrations     数据修改表结构
    		admin          Django为我们提供的后台管理
    		apps           配置当前app
    		models         ORM,写指定的类  通过命令可以创建数据库结构
    		tests          单元测试
    		views          业务代码
    	
    	
    	
    	1、配置模板的路径
    	
    		TEMPLATES = [
    				{
    					'BACKEND': 'django.template.backends.django.DjangoTemplates',
    					'DIRS': [os.path.join(BASE_DIR, 'templates')],
    					'APP_DIRS': True,
    					'OPTIONS': {
    						'context_processors': [
    							'django.template.context_processors.debug',
    							'django.template.context_processors.request',
    							'django.contrib.auth.context_processors.auth',
    							'django.contrib.messages.context_processors.messages',
    						],
    					},
    				},
    			]
    	2、配置静态目录
    		static
    	
    		STATICFILES_DIRS = (
    			os.path.join(BASE_DIR, 'static'),
    		)
    
    		
    		<link rel="stylesheet" href="/static/commons.css" />
    	
    
    内容整理
    	1. 创建Django工程
    			django-admin startproject 工程名
    
    	2. 创建APP
    		cd 工程名
    		python manage.py startapp cmdb
    
    	3、静态文件
    		project.settings.py
    		
    		STATICFILES_DIRS = (
    			os.path.join(BASE_DIR, "static"),
    		)
    	
    	4、模板路径
    	
    		DIRS ==>    [os.path.join(BASE_DIR,'templates'),]
    		
    	5、settings中
    		
    		middlerware
    		
    			# 注释 csrf
    			
    			
    	6、定义路由规则
    		url.py
    		
    			"login" --> 函数名
    			
    	7、定义视图函数
    		app下views.py
    			
    			def func(request):
    				# request.method   GET / POST
    				
    				# http://127.0.0.1:8009/home?nid=123&name=alex
    				# request.GET.get('',None)   # 获取请求发来的而数据
    				
    				# request.POST.get('',None)
    				
    				
    				# return HttpResponse("字符串")
    				# return render(request, "HTML模板的路径")
    				# return redirect('/只能填URL')
    				
    	8、模板渲染
    		特殊的模板语言
    		
    			-- {{ 变量名 }}
    		
    				def func(request):
    					return render(request, "index.html", {'current_user': "alex"})
    		
    					
    				index.html
    				
    				<html>
    				..
    					<body>
    						<div>{{current_user}}</div>
    					</body>
    				
    				</html>
    				
    				====> 最后生成的字符串
    				
    				<html>
    				..
    					<body>
    						<div>alex</div>
    					</body>
    				
    				</html>
    			-- For循环
    				def func(request):
    					return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']})
    		
    					
    				index.html
    				
    				<html>
    				..
    					<body>
    						<div>{{current_user}}</div>
    						
    						<ul>
    							{% for row in user_list %}
    							
    								{% if row == "alex" %}
    									<li>{{ row }}</li>
    								{% endif %}
    								
    							{% endfor %}
    						</ul>
    						
    					</body>
    				
    				</html>
    				
    			#####索引################# 
    				def func(request):
    					return render(request, "index.html", {
    								'current_user': "alex", 
    								'user_list': ['alex','eric'], 
    								'user_dict': {'k1': 'v1', 'k2': 'v2'}})
    		
    					
    				index.html
    				
    				<html>
    				..
    					<body>
    						<div>{{current_user}}</div>
    						
    						<a> {{ user_list.1 }} </a>
    						<a> {{ user_dict.k1 }} </a>
    						<a> {{ user_dict.k2 }} </a>
    						
    					</body>
    				
    				</html>
    			
    			###### 条件
    			
    				def func(request):
    					return render(request, "index.html", {
    								'current_user': "alex", 
    								"age": 18,
    								'user_list': ['alex','eric'], 
    								'user_dict': {'k1': 'v1', 'k2': 'v2'}})
    		
    					
    				index.html
    				
    				<html>
    				..
    					<body>
    						<div>{{current_user}}</div>
    						
    						<a> {{ user_list.1 }} </a>
    						<a> {{ user_dict.k1 }} </a>
    						<a> {{ user_dict.k2 }} </a>
    						
    						{% if age %}
    							<a>有年龄</a>
    							{% if age > 16 %}
    								<a>老男人</a>
    							{% else %}
    								<a>小鲜肉</a>
    							{% endif %}
    						{% else %}
    							<a>无年龄</a>
    						{% endif %}
    					</body>
    				
    				</html>
    	
    	
    	
    XXOO管理:
    	MySQL
    	SQLAlchemy
    	主机管理(8列):
    		IP
    		端口
    		业务线
    		...
    		
    	用户表:
    		用户名
    		密码
    	
    	功能:
    		1、 登录
    		2、主机管理页面
    			- 查看所有的主机信息(4列)
    			- 增加主机信息(8列) ** 模态对话框
    		3、查看详细
    			url:
    				"detail" -> detail
    		
    			def detail(reqeust):
    				nid = request.GET.get("nid")
    				v = select * from tb where id = nid
    				...
    		4、删除
    			del_host -> delete_host
    			
    			def delete_host(request):
    				nid = request.POST.get('nid')
    				delete from tb where id = nid
    				return redirect('/home')
    
    
  • 相关阅读:
    Sqlserver的Transaction做Rollback的时候要小心(转载)
    注意Sqlserver中使用with(nolock)后实际上还是会加架构锁,只是不对要查询的数据加S锁而已(转载)
    为什么Sql Server的查询有时候第一次执行很慢,第二次,第三次执行就变快了
    Sql Server 中如果使用TransactionScope开启一个分布式事务,使用该事务两个并发的连接会互相死锁吗
    Css中路径data:image/png;base64的用法详解 (转载)
    android获取mp4视频文件总时长和视频宽高<转>
    “Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle)instead”
    android 除法运算保留小数点
    Directshow 采集音视频数据H264+AAC+rtmp效果还不错
    VS2010中将CString转换为const char*
  • 原文地址:https://www.cnblogs.com/netflix/p/14855806.html
Copyright © 2020-2023  润新知