zoukankan      html  css  js  c++  java
  • django中FBC和CBV模式的urls和views的对应写法

    FBV

    urls:

    urlpatterns = [

      url(r'^admin/', admin.site.urls),
      url(r'^home/', views.home),
    ]

    views:

    def home(request):
       return render(request, 'home.html')

    CBV

    urls:

    urlpatterns = [

       url(r'^admin/', admin.site.urls),
     url(r'^home/', views.Home.as_view()), #固定写法 
    ]

    views:

    from django.views import View
    class Home(View):

      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 django.views import View
    class Home(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')

  • 相关阅读:
    jmeter定时器
    创建视图的语句
    实时监控-网络、磁盘
    Nginx环境搭建准备
    nmon使用命令
    tomcat服务器安装方法
    Selenium_高级操作_鼠标操作选择下拉框
    实例:对象库如何工作:
    自动化
    【Linux】环境搭建
  • 原文地址:https://www.cnblogs.com/Samuel-Leung/p/10812738.html
Copyright © 2011-2022 走看看