Django中的CBV和FBV示例介绍


Posted in Python onFebruary 25, 2018

前言

本文主要给大家介绍了关于Django中CBV和FBV的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

一、  CBV

CBV是采用面向对象的方法写视图文件。

CBV的执行流程:

浏览器向服务器端发送请求,服务器端的urls.py根据请求匹配url,找到要执行的视图类,执行dispatch方法区分出是POST请求还是GET请求,执行views.py对应类中的POST方法或GET方法。

使用实例:

urls.py

path('login/',views.Login.as_view())

views.py

from django import views #在views.py的基础上添加
class Login(views.Views):
 def get(self,request)
  pass
  def pass(self,request)
  pass

使用装饰器:

from django import views
from django.utils.decorators import method_decorator
def outer(func):
 def inner(request,*args,**kwargs):
 return func(request,*args,**kwargs)
 return inner
class Login(views.View):
 @method_decorator(outer)
 def get(self,request,*args,**kwargs):
 pass

在类上面加装饰器,和在函数上加装饰器是一个性质。但加的方法有所不同。

eg:

@method_decorator(outer,name='dispatch')
class Login(views.View):

自定义dispatch:

class Login(views.View):
 def dispatch(self, request, *args, **kwargs):
 print(2222)
 ret = super(Login, self).dispatch(request, *args, **kwargs)
 print(1111)
 return ret
def get(self, request, *args, **kwargs):
  print('GET')
  return HttpResponse('OK')

执行结果:2222

GET
  1111

二、    FBV

FBV即在views.py中以函数的形式写视图。

看代码:

urls.py

from django.conf.urls import url, include
# from django.contrib import admin
from mytest import views
 
urlpatterns = [
 # url(r‘^admin/‘, admin.site.urls),
 url(r‘^index/‘, views.index),
]

views.py

from django.shortcuts import render
def index(req):
 if req.method == ‘POST‘:
 print(‘method is :‘ + req.method)
 elif req.method == ‘GET‘:
 print(‘method is :‘ + req.method)
 return render(req, ‘index.html‘)

注意此处定义的是函数【def index(req):】

index.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>index</title>
</head>
<body>
 <form action="" method="post">
 <input type="text" name="A" />
 <input type="submit" name="b" value="提交" />
 </form>
</body>
</html>

上面就是FBV的使用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python 元组(Tuple)操作详解
Mar 11 Python
Python中装饰器的一个妙用
Feb 08 Python
你应该知道的python列表去重方法
Jan 17 Python
sublime text 3配置使用python操作方法
Jun 11 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
linux环境下的python安装过程图解(含setuptools)
Nov 22 Python
python实现图片彩色转化为素描
Jan 15 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
python代码xml转txt实例
Mar 10 Python
django日志默认打印request请求信息的方法示例
May 17 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
Python数据处理的三个实用技巧分享
Apr 01 Python
python中正则表达式的使用方法
Feb 25 #Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
Feb 24 #Python
python正则表达式爬取猫眼电影top100
Feb 24 #Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 #Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 #Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 #Python
Python 中Pickle库的使用详解
Feb 24 #Python
You might like
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
jQuery的链式调用浅析
2010/12/03 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
使用JavaScript破解web
2018/09/28 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
node读写Excel操作实例分析
2019/11/06 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
Python 文件和输入输出小结
2013/10/09 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python实现复制文件到指定目录
2019/10/16 Python
Python数据正态性检验实现过程
2020/04/18 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
施工员岗位职责
2015/02/10 职场文书
驻村工作简报
2015/07/20 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
用Python生成会跳舞的美女
2022/01/18 Python