文本目录 CBV加装饰器解决登录注册问题 一:什么是中间件 二:中间件有什么用 三:自定义中间件 四:中间件应用场景 五:SCRF TOKEN跨站请求伪造 六: 其他操作 CBV加装饰器解决登录注册问题 views from django.shortcuts import render, HttpResponse,redirect # Create your views here. from django.views import View from app01 import models #…
一. CBV加装饰器 在视图层中,基于函数的视图叫FBV(function base views),基于类的视图叫CBV(class base views).当需要用到装饰器时,例如之前的基于Cookie与基于Session的登录验证,给FBV加装饰器很简单,一个@语法糖就OK了,那么给CBV加装饰器呢,难道直接跟单例实现的方法之一一样,类上面一个@语法糖就行了吗.其实给CBV加装饰器有三种方法. 需要先导入模块: from django.utils.decorators import meth…
Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV       在Django中存在存在两种url和视图对应的形式:类和函数 CBV:类视图 ##### class based view 基于类 ### 出版社添加 urls.py中填写url和类的对应关系. #PublishAdd是类,要执行as_view()方法 url('^publish_add',views.Publish…
给FBV加装饰器 FBV:function based view FBV本身就是一个函数,所以跟普通函数加装饰器是一样的 # 装饰函数是要在APP文件中定义,本例是在app01\templatetags\tag.py中进行定义 def wrapper(func): def inner(*args,**kwargs): start_time = time.time() ret = func(*args, **kwargs) end_time = time.time() print("last:&q…
CBV中加装饰器 from django import views from django.utils.decorators import method_decorator def login_auth(func): def inner(request,*args,**kwargs): next_url=request.get_full_path() if request.COOKIES.get('is_login'): return func(request,*args,**kwargs) e…
MVC M: model 模型 与数据库交互 V: view 视图 HTML C:controller 控制器 流程 和 业务逻辑 MTV M:model ORM T:template 模板 HTML V:view 视图 业务逻辑 Django中的视图 FBV def add_publisher(request,*args,**kwargs): # 逻辑 return response urls.py url(r'^add_publisher',add_publisher ) CBV from…
组件: ​ 把一小段HTML 放在一个HTML中 nav.html ​ 使用: ​ {% include ‘nav.html ’ %} 一. FBV 和CBV 1.FBV(function base views) 就是在视图里使用函数处理请求 (之前都是FBV模式) 2.CBV(class base views) 就是在视图里使用类处理请求   ①基本形式 # urls.py 文件中 from django.conf.urls import url from app01 import views…
内容回顾: 补充反向解析 Html:{% url ‘别名’ 参数 %} Views:reverse(‘别名’,args=(参数,)) 模板渲染 变量 {{ 变量名 }} 逻辑相关 {% %} 过滤器: {{ 变量|过滤器方法:’参数’ }} 标签: {% for i in list%} for k,v in dict.items {{ i }} {% endfor %} {% if 条件 %} {%elif%} {%else%} {% endif %} 据点符 . 可以做深度查询 {% with…
#urls.py from django.contrib import admin from django.urls import path, re_path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), re_path(r'^student/', views.StudentView.as_view()), ] #views.py from django.shortcuts import rend…
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况. 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全…