7)django-示例(cbv)
CBV(class base view)一个url根据method方式调用相应的方法。method常用有get,post
如果是GET请求,Home类会调用get方法,如果是POST提交数据,则类会调用 post方法
CBV与FBV经常用到,建立两种方式都使用。
1)urls.py
url(r'^home/', views.Home.as_view()), 以不同的方式执行不同的方法,比如get,post等 #views.类名.as_view()
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
url(r'^login/', views.login),
url(r'^home/', views.Home.as_view()),
url(r'^detail-(\d+).html',views.detail), #动太路由
]
2)views.py
#CBV django内容是怎么完的过程?
#根据提交的头部和内容,头部包括URL,method, django通过反射找到相应的方法。
所以django肯定有dispath,可以自己重写dispath,增加自己功能 需要导入from django.views import View
#CBV
from django.views import View
class Home(View):
#CBV django内容是怎么完的过程?
#根据提交的头部和内容,头部包括URL,method, django通过反射找到相应的方法。所以django肯定有dispath,可以自己重写dispath,增加自己功能 def dispatch(self, request, *args, **kwargs):
print("before")
result=super(Home,self).dispatch( request, *args, **kwargs)#调用父类的dispath
print("after") #相档于装饰器功能
return result def get(self,request):
print(request.method)
return render(request,"home.html") def post(self,request):
print(request.method)
return render(request,"home.html")
3.模板home.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="/static/common.css">
</head>
<body>
<form action="/home/" method="post">
<input type="text" name="user" />
<input type="submit" value="+">
</form>
<script src="/static/jquery-1.12.3.js"></script>
</body>
</html>
7)django-示例(cbv)的更多相关文章
- Django的CBV与FBV
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base v ...
- Django的 CBV和FBV
FBV CBV 回顾多重继承和Mixin 回到顶部 FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以 ...
- Django 之 CBV & FBV
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django随笔中,一直使用的是这种方式,不再赘述. CBV CBV(class base views) ...
- Django之CBV和FBV
Django之CBV和FBV CBV和FBV是C和F的区别: C是Class,F是Function 在请求中,有GET请求和POST请求. 在写CBV时,url是可以对应一个类的,在类中,分别写出GE ...
- django中CBV
08.13自我总结 django中CBV 一.django处理业务逻辑的两种方式 FBV (function based views):使用函数来处理业务逻辑 CBV (class based vie ...
- django补充CBV和FBV模式
django补充CBV和FBV模式FBV模式---函数:经常用的方式CBV模式---类CBV中url连接时函数名后面要接.as_view()class index(views.View): @... ...
- 使用Ajax (put delete ) django原生CBV 出现csrf token解决办法
原因 django原生CBV中对于 Ajax put 或 delete 请求进行封装时,会把请求数据放在 request.body里, 所以获取不到csrf token 方式一: 关闭csrf 中间件 ...
- Django 的 cbv
Django 的 cbv 正如我们了解到的,Django 写视图函数有两种写法:cbv 和 fbv.cbv 提倡使用类来写,fbv 使用函数来 写.当然为了代码的重复行,官方更推荐使用 cbv. 写 ...
- django中CBV源码分析
前言:Django的视图处理方式有两种: FBV(function base views) 是在视图里基于函数形式处理请求. CBV(class base views)是在视图里基于类的形式处理请求. ...
- Django之 CBV和FBV
FBV FBV(function base views) 就是在视图里使用函数处理请求. CBV CBV(class base views) 就是在视图里使用类处理请求. Python是一个面向对象的 ...
随机推荐
- JS获得元素相对位置坐标getBoundingClientRect()
getBoundingClientRect用于获取某个元素相对于视窗的位置集合.集合中有top, right, bottom, left等属性. 1.语法:这个方法没有参数. rectObject = ...
- 【bzoj 1143】[CTSC2008]祭祀river
Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在水面上,奉龙王为神.每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动.我们可以把Y族居住地水系看成一个由岔口和河道组成 ...
- CentOS7清理磁盘空间
1 首先查询磁盘空间占用情况. 发现/根目录下面磁盘占用百分之一百 df -ah 2 进入根目录,查询大文件与目录 cd /du -sh * | sort -n 查看上GB的目录并且排序,可以用这个命 ...
- Java基础_0302:类和对象
定义类 class Book { // 定义一个新的类 String title; // 书的名字 double price; // 书的价格 /** * 输出对象完整信息 */ public voi ...
- python 的基础 学习 第三
1,in ,not in 判断子元素是是否在原字符串(字典,列表,集合)中,主要是用在检测敏感字 print('a' in 'abcchhhhd') 有则返回True, print('j' in 'a ...
- json对象转数组
<script type="text/javascript"> var object = {"a":1,"b":2," ...
- 目标检测:YOLO(v1 to v3)——学习笔记
前段时间看了YOLO的论文,打算用YOLO模型做一个迁移学习,看看能不能用于项目中去.但在实践过程中感觉到对于YOLO的一些细节和技巧还是没有很好的理解,现学习其他人的博客总结(所有参考连接都附于最后 ...
- linux 文件搜索命令
- python,<一>读取文件open()
在实际操作中,我们经常会读取文件,这个时候python为我们提供了一个open()的方法,供我们读取文件,通过help(open),我们可以获取open的方法 f.close()关闭读取 f.read ...
- POI 海量数据/大数据文件生成SXSSFWorkbook使用简介
在之前我们知道处理xls的excel用的workbook是HSSFWorkbook,处理xlsx的excel用的是XSSFWorkbook. 上面两个类导出excel的时候数据会驻留在内存中,所以当数 ...