Python菜鸟之路:Django 路由补充FBV和CBV
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python菜鸟之路:Django 路由补充FBV和CBV相关的知识,希望对你有一定的参考价值。
在Python菜鸟之路:Django 路由、模板、Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view 。
今天补充另外一种路由关系的写法:CBV,即:class base view , 也可以看做为面向资源编程的另外一种叫法,类似tornado中的路由写法。
1. 建立路由关系urls.py
from app01 import views urlpatterns = [ url(r‘^home/‘, views.Home.as_views()), ]
2. 书写处理逻辑views.py
from django.views import View class Home(View): # 这里需要注意,必须继承View类 def dispatch(self, request, *args, **kwargs): # 调用父类中的dispatch print(‘before‘) # 类似装饰器的功能 result = super(Home,self).dispatch(request, *args, **kwargs) print(‘after‘) # 类似装饰器的功能 return result def get(self,request): print(request.method) return render(request, ‘home.html‘) def post(self,request): print(request.method,‘POST‘) return render(request, ‘home.html‘)
以上是关于Python菜鸟之路:Django 路由补充FBV和CBV的主要内容,如果未能解决你的问题,请参考以下文章