CBV与FBV怎么在Django中使用

  介绍

这期内容当中小编将会给大家带来有cb v关与都未FBV怎么在Django中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<强>一,,CBV

cb v

是都未采用面向对象的方法写视图文件。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/碧峤?/>   

上述就是小编为大家分享cb v的与都未FBV怎么在Django中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

CBV与FBV怎么在Django中使用