介绍
这期内容当中小编将会给大家带来有cb v关与都未FBV怎么在Django中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<强>一,,CBV 强>
是都未采用面向对象的方法写视图文件。cb v
的都未执行流程:
浏览器向服务器端发送请求,服务器端的urls . py根据请求匹配的url,找到要执行的视图类,执行派遣方法区分出是帖子请求还是得到请求,执行views.py对应类中后的方法或得到方法。
<强>使用实例:强>
url。py
路径(& # 39;登录/& # 39;,views.Login.as_view ())
视图。py
得到django import views #在views.py的基础上添加 class 登录(views.Views): ,def 得到(自我,请求) ,通过 def 才能通过(自我,请求) 通过才能
使用装饰器:
得到django import 观点 得到django.utils.decorators import  method_decorator def 外(函数): ,def 内部(请求、* args * * kwargs): ,return func(请求、* args * * kwargs) return 内部 class 登录(views.View): ,@method_decorator(外部) ,def get(自我,请求,* args, * * kwargs): 之前,通过>在类上面加装饰器,和在函数上加装饰器是一个性质。但加的方法有所不同。
,
@method_decorator(外,name=& # 39;派遣# 39;) class 登录(views.View):自定义调度:
class 登录(views.View): ,def 调度(自我,,请求,,* args,, * * kwargs): ,打印(2222)=,ret 超级(登录,,自我).dispatch(请求,,* args,, * * kwargs) ,打印(1111) return 受潮湿腐烂 def get(自我,,请求,,* args,, * * kwargs): 打印才能(& # 39;得到# 39;) return 才能;HttpResponse(& # 39;好# 39;)执行结果:2222
,得到 1111年才能<强>二,,,,FBV 强>
FBV即在views.py中以函数的形式写视图。
<强>看代码:强>
url。py
得到django.conf.urls import url,包括 #,得到django.contrib import 管理 得到mytest import 视图 , urlpatterns =, ( ,# url (r ^ admin/,, admin.site.urls), ,url (r ^索引/,,views.index), )视图。py
得到django.shortcuts import 呈现 def 指数(要求):==,if req.method “POST”: ,打印(“method is :“, +, req.method) ,elif req.method ==,“得到”: ,打印(“method is :“, +, req.method) ,return 渲染(点播,index . html)注意此处定义的是函数【def指数(点播):】
索引。html
& lt; ! DOCTYPE html> & lt; html  lang=癳n"祝辞 & lt; head> ,& lt; meta charset=癠TF-8"比; ,& lt; title> index & lt;/head> & lt; body> ,& lt; form  action=啊?方法=皃ost"比; ,& lt; input 类型=皌ext", name=癆",/比; ,& lt; input 类型=皊ubmit", name=癰",价值=https://www.yisu.com/zixun/碧峤?/> 形式 身体>