码迷,mamicode.com
首页 > 编程语言 > 详细

Python菜鸟之路:Django 路由补充FBV和CBV

时间:2017-02-03 16:46:06      阅读:1195      评论:0      收藏:0      [点我收藏+]

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

  

  

  

Python菜鸟之路:Django 路由补充FBV和CBV

标签:from   after   htm   关系   写法   pre   model   view   注意   

原文地址:http://www.cnblogs.com/jishuweiwang/p/6362859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!