Django-CBV&FBV
2024-08-27 01:00:57
django中请求处理方式有2种:FBV 和 CBV
一、FBV
FBV(function base views) 就是在视图里使用函数处理请求。
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(request):
if request.method=="POST":
......
else:
.......
注意此处定义的是函数【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的使用。
二、CBV
CBV(class base views) 就是在视图里使用类处理请求。
将上述代码中的urls.py 修改为如下:
from mytest import views urlpatterns = [
# 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 View class Index(View):
def get(self, request):
......
return render(request, ‘index.html‘) def post(self, request):
......
return render(req, ‘index.html‘)
注:类要继承 View ,类中函数名必须小写。
两种方式没有优劣,都可以使用。
最新文章
- BZOJ1001: [BeiJing2006]狼抓兔子 [最小割 | 对偶图+spfa]
- 关于NotePad一些功能的实现方法
- 对于家政020 APP平台如何走出资本寒冬?
- ArcEngine 0x8004023C
- [JAVA] HTTP请求,返回响应内容,实例及应用
- c# 远程监控(2) 摄像头调研及模拟
- nodejs 与 mysql联接
- WC2015流水账
- 【Java IO流】File类的使用
- 近期安卓与IOS招聘面试有感
- Hibernate知识点总结(一)
- 【Spring】——声明式事务配置详解
- 2017-2018-2 20165325 实验四《Android程序设计》实验报告
- ElasicSearch(4) 与jest结合
- easyx的基础应用教程
- Python数据类型深入学习之数字
- 2019/4/23 todolist
- react如何引入外部文件的整理
- Codeforces Round #250 (Div. 1) D. The Child and Sequence(线段树)
- WPF 控件被禁用,悬浮提示不显示问题