标签: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