博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django中的FBV和CBV
阅读量:4963 次
发布时间:2019-06-12

本文共 1260 字,大约阅读时间需要 4 分钟。

 

                  django中请求处理方式有2种:FBV 和 CBV

 

一、FBV

FBV(function base views) 就是在视图里使用函数处理请求。

看代码:

urls.py

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

views.py

from django.shortcuts import renderdef 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

    
index

上面就是FBV的使用。

二、CBV

CBV(class base views) 就是在视图里使用类处理请求。

将上述代码中的urls.py 修改为如下:

from mytest import viewsurlpatterns = [    # url(r‘^index/‘, views.index),    url(r‘^index/‘, views.Index.as_view()),]

注:url(r‘^index/‘, views.Index.as_view()),  是固定用法。

将上述代码中的views.py 修改为如下:

from django.views import Viewclass Index(View):    def get(self, req):        print(‘method is :‘ + req.method)        return render(req, ‘index.html‘)    def post(self, req):        print(‘method is :‘ + req.method)        return render(req, ‘index.html‘)

注:类要继承 View ,类中函数名必须小写。

 

两种方式没有优劣,都可以使用。

转载于:https://www.cnblogs.com/pengpengge/p/9682500.html

你可能感兴趣的文章
HDU6203 ping ping ping
查看>>
《人人都是产品经理》书籍目录
查看>>
如何在git bash中运行mysql
查看>>
OO第三阶段总结
查看>>
构建之法阅读笔记02
查看>>
DataTable和 DataRow的 区别与联系
查看>>
检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败
查看>>
mysql数据库中数据类型
查看>>
Fireworks基本使用
查看>>
两台电脑间的消息传输
查看>>
Linux 标准 I/O 库
查看>>
.net Tuple特性
查看>>
Java基础常见英语词汇
查看>>
iOS并发编程笔记【转】
查看>>
08号团队-团队任务5:项目总结会
查看>>
SQL2005 删除空白行null
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
边框圆角Css
查看>>
使用Busybox制作根文件系统
查看>>