Frank的学习之路

Day_21_总结_Session和cookeie的区别和git使用

Sessioncookeie的区别

         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"  一直回车生成公钥和私钥,找到公钥上传服务器

返回顶部