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 ,类中函数名必须小写。

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

最新文章

  1. BZOJ1001: [BeiJing2006]狼抓兔子 [最小割 | 对偶图+spfa]
  2. 关于NotePad一些功能的实现方法
  3. 对于家政020 APP平台如何走出资本寒冬?
  4. ArcEngine 0x8004023C
  5. [JAVA] HTTP请求,返回响应内容,实例及应用
  6. c# 远程监控(2) 摄像头调研及模拟
  7. nodejs 与 mysql联接
  8. WC2015流水账
  9. 【Java IO流】File类的使用
  10. 近期安卓与IOS招聘面试有感
  11. Hibernate知识点总结(一)
  12. 【Spring】——声明式事务配置详解
  13. 2017-2018-2 20165325 实验四《Android程序设计》实验报告
  14. ElasicSearch(4) 与jest结合
  15. easyx的基础应用教程
  16. Python数据类型深入学习之数字
  17. 2019/4/23 todolist
  18. react如何引入外部文件的整理
  19. Codeforces Round #250 (Div. 1) D. The Child and Sequence(线段树)
  20. WPF 控件被禁用,悬浮提示不显示问题

热门文章

  1. CSS3:TEXT-SHADOW|BOX-SHADOW(炫彩字体)
  2. Object-Oriented Programming Summary Ⅱ
  3. 前端劝退预警:JavaScript 工具链不完全指南
  4. fork他人仓库文件及修改整合
  5. C#桌面开发的未来-WebWindow
  6. ajax5
  7. (转).balignl 16,0xdeadbeef浅析
  8. 通过shell脚本排查jar包中类冲突
  9. 网络安全从入门到精通 (第二章-1) Web安全前端基础
  10. javaWeb_Css