首页 > 编程语言 > 详细

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

时间:2017-02-03 16:44:49      阅读:218      评论:0      收藏:0      [点我收藏+]

  在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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!