Django复习笔记Day1

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 = /\bJava(\w*)\b/;
		# ["JavaScript", "Script"]
		
		
		JavaScript is more fun than Java or JavaBeans!
		var pattern = /\bJava\w*\b/g;
		# ["JavaScript"]
		# ["Java"]
		# ["JavaBeans"]
		# null
		
		JavaScript is more fun than Java or JavaBeans!
		var pattern = /\bJava(\w*)\b/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
	============ Ajax操作 ================	

3、WEB框架

	MVC
		Model       View       Controller
		数据库   模板文件    业务处理
	
	
	MTV

		Model    Template     View
		数据库   模板文件    业务处理	
	############## WEB:MVC、MTV

4、Django

	pip3 install django
	
	C:\Python35\Scripts
	
	# 创建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')
原创文章 85 获赞 120 访问量 4万+

猜你喜欢

转载自blog.csdn.net/happygjcd/article/details/104271656
今日推荐