Session和cookeie的区别
1.cookie存储在客户端,session存储在服务端
2.session依赖于cookie
[1].中间件
中间件原理:
中间件是什么?
它是一个类
执行的就是两个函数
举例:
(1).-s2day21-settings.py
# from django.middleware.csrf import CsrfViewMiddleware
# from django.contrib.sessions.middleware import SessionMiddleware
MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'md.m1'
]
#注释:自定义中间件需要在setting里面注册
(2).-md.py
from django.utils.deprecation import MiddlewareMixin class m1(MiddlewareMixin): def process_request(self, request): print('m1.process_request') print(request.environ) # 'PATH_INFO': '/test/', 'QUERY_STRING': '', # 'REMOTE_ADDR': '127.0.0.1' def process_response(self, request, response): print('m1.process_response') return response
#定义中间件,配置发送请求和返回,设置黑名单
(3).-s2say21-urls.py
from app01 import views urlpatterns = [ url(r'^test/', views.test), ]
(4).-app01-views.py
from django.shortcuts import HttpResponse def test(request): print('test') return HttpResponse('ok')
中间件的作用:
预处理
做黑名单列表
统一认证管理
[2].form组件
问题:
1.重复的写验证代码逻辑,正则表达式
2.不能够保存上一次用户输入的数据
1.重复的写验证代码逻辑,正则表达式
django提供的From组件:
1.先引入Form组件
from django.forms import Form from django.forms import fields
2.定义规则:
class LoginForm(Form):
3.使用
obj=LoginForm(request.Post)
判断结果:
obj.is_valid()
正确的数据:
obj.cleaned_data
错误的数据:
obj.errors
4.前端页面显示错误信息:
<input type="text" name="username">{{obj.errors.username}}
举例:
(1).-s2say21-urls.py
from app01 import views urlpatterns = [ url(r'^login/', views.login), ]
(2).-app01-views.py
from django.shortcuts import render
#先引入Form组件 from django.forms import Form from django.forms import fields #定义规则: class LoginForm(Form): username=fields.CharField(required=True, max_length=8, min_length=6, error_messages={ 'required':'不能为空', 'max_length':'最大8位', 'min_length':'最小6位' } ) def login(request): if request.method=='GET': return render(request,'login.html') else: #使用 obj=LoginForm(request.POST) if obj.is_valid(): print(obj.cleaned_data) else: print(type(obj.errors)) print(obj.errors['username']) return render(request,'login.html',{'obj':obj})
(3).-templates-login.html
<body> <form action="/login/" method="post"> {% csrf_token %} <input type="text" name="username">{{obj.errors.username}} <input type="submit" value="提交"> </form> </body>
2.不能够保存上一次用户输入的数据
5.obj=LoginForm()
-帮助生产前端的html代码
-帮助留住上一次输入的数据
-前端容错
使用jQuery Validate 做前端验证, 先导入jquery
https://www.cnblogs.com/linjiqin/p/3431835.html
(1).-app01-views.py
from django.shortcuts import render from django.shortcuts import HttpResponse # Create your views here. def test(request): print('test') return HttpResponse('ok') #先引入Form组件 from django.forms import Form from django.forms import fields from django.forms import widgets,Textarea #定义规则: class LoginForm(Form): username=fields.CharField(required=True, label='用户名', label_suffix=':', widget=Textarea, # initial='Frank', # help_text='帮助信息', # disabled=True, max_length=8, min_length=6, error_messages={ 'required':'不能为空', 'max_length':'最大8位', 'min_length':'最小6位' } ) def login(request): if request.method=='GET': obj=LoginForm() return render(request,'login.html',{'obj':obj}) else: #使用 obj=LoginForm(request.POST) if obj.is_valid(): print(obj.cleaned_data) else: print(type(obj.errors)) print(obj.errors['username']) return render(request,'login.html',{'obj':obj})
(2).-templates-login.html
<body> <form action="/login/" method="post" novalidate> {% csrf_token %} <p> {# <input type="text" name="username">{{obj.errors.username}}#} {{ obj }} </p> <input type="submit" value="提交"> </form> </body>
[3].git的使用
版本控制:
注册 登录 查看 version 1.0 --->一套代码
注册 登录 查看 交友 发帖 version 2.0 --->一套代码
git是一种版本控制器,git实际是用来管理代码
git 分布式
svn 集中式
基本使用
0.Git Bash打开之后的默认路径
在“Git Bash”快捷方式上点击鼠标右键,然后选择“属性”
1.将“目录”后面输入框中命令结尾部分去掉,即删掉“--cd-to-home”。
2.将“起始位置”后面的输入框中的内容(%HOMEDRIVE%%HOMEPATH%)修改为我们想要的默认路径“D:\Git_test”
1.初始化:
git init
2.查看git仓库的状态
git status
3.添加文件到仓库
git add a.py b.py
git add .
4.提交到本地的仓库
git commit -m '添加a.py' a.py
git config -l //查看配置
git config --global user.email '200890836@qq.com'
git config --global user.name 'frank'
工作区和版本库
工作区:开发者自己的工作目录
版本库:存放变化的日志以及版本的信息
5.把代码推到远程仓库
推:push
为本地添加远程仓库
git remote add origin https://gitee.com/Franksunny/test.git
6.推送代码到远程
git push origin master (提示需要填写邮箱和gitee账号登陆密码)
7.远程下载代码到本地
git pull origin master
8.删除文件
git rm 2.py //删除本地文件
git commit //提交修改文件
git push origin1 master //提交远程修改
9.查看日志
git log
git reflog //精简看日志
10.版本的切换
git reset --hard 83b5817
11.查看分支
git branch -a
* master //表示当前在master分支上
12.创建分支
git branch dev
git branch --merged //查看当前合并的分支
git branch -d dev //删除当前分支
git branch -D dev //强制删除当前分支
13.切换dev分支
git checkout dev
git branch fixbug20181213
git branch -a
git checkout fixbug20181213
vim c.py
git add .
git commit
git pull origin master
git push origin1 fixbug20181213 //分支修改代码,远程推送到分支结构
13.主线(master)合并分支(fixbug20181213)
git merge fixbug20181213
git push origin1 master
14.查看远程配置
git remote
git remote -v
15.删除远程配置和修改名称
git remote remove origin
git remote rename origin1 origin
16.遇到冲突合并提交
git commit -a
17.公钥登陆
ssh-keygen -t rsa -C "200890836@qq.com" 一直回车生成公钥和私钥,找到公钥上传服务器