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')

  • 相关阅读:
    Math.floor,Math.ceil,Math.rint,Math.round用法
    double类型转换为int类型四舍五入工具类
    精度更高的double类型计算工具类(借助BigDecimal类型)
    Java中float和double转换的问题
    Java对数
    iPhone内存溢出——黑白苹果
    VBS猜数游戏
    HTML_1
    MySQL学习
    Python进制转换
  • 原文地址:https://www.cnblogs.com/Samuel-Leung/p/10812738.html
Copyright © 2011-2022 走看看