标签:from after htm 关系 写法 pre model view 注意
在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‘)
标签:from after htm 关系 写法 pre model view 注意
原文地址:http://www.cnblogs.com/jishuweiwang/p/6362859.html