django CBV 及其装饰器】的更多相关文章

一. CBV加装饰器 在视图层中,基于函数的视图叫FBV(function base views),基于类的视图叫CBV(class base views).当需要用到装饰器时,例如之前的基于Cookie与基于Session的登录验证,给FBV加装饰器很简单,一个@语法糖就OK了,那么给CBV加装饰器呢,难道直接跟单例实现的方法之一一样,类上面一个@语法糖就行了吗.其实给CBV加装饰器有三种方法. 需要先导入模块: from django.utils.decorators import meth…
#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…
from django.utils.decorators import method_decorator 1.在post 或 get方法 添加 @method_decorator(装饰器) 2.给类添加装饰器 @method_decorator(装饰器, name="") 这里的name等于get 或 post…
组件: ​ 把一小段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…
文本目录 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 #…
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…
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况. 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全…
备忘 def auth(func): def inner(request,*args,**kwargs): u = request.COOKIES.get('username111') if not u: return redirect('/login/') print("call index()") return func(request,*args,**kwargs) return inner #FBV @auth def index(request): #带签名的cookie o…
内容回顾: 补充反向解析 Html:{% url ‘别名’ 参数 %} Views:reverse(‘别名’,args=(参数,)) 模板渲染 变量 {{ 变量名 }} 逻辑相关 {% %} 过滤器: {{ 变量|过滤器方法:’参数’ }} 标签: {% for i in list%} for k,v in dict.items {{ i }} {% endfor %} {% if 条件 %} {%elif%} {%else%} {% endif %} 据点符 . 可以做深度查询 {% with…
python提供的内置装饰器——staticmethod.classmethod和property 在OSQA中,@property的使用频率是非常高的.下面就是它的使用方法: @property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,和java中的setter和getter类似. models.py中如下: from django.db import models class Person(models.Model): G=(('chen','jian'),(…