zoukankan      html  css  js  c++  java
  • 7)django-示例(cbv)

    CBV(class base view)一个url根据method方式调用相应的方法。method常用有get,post

    如果是GET请求,Home类会调用get方法,如果是POST提交数据,则类会调用 post方法

     CBV与FBV经常用到,建立两种方式都使用。

    1)urls.py  

    url(r'^home/', views.Home.as_view()), 以不同的方式执行不同的方法,比如get,post等 #views.类名.as_view()
    from app01 import views
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index/', views.index),
        url(r'^login/', views.login),
        url(r'^home/', views.Home.as_view()),
        url(r'^detail-(d+).html',views.detail), #动太路由
    ]

     2)views.py

        #CBV django内容是怎么完的过程?
        #根据提交的头部和内容,头部包括URL,method, django通过反射找到相应的方法。
       所以django肯定有dispath,可以自己重写dispath,增加自己功能


      需要导入from django.views import View
    #CBV
    from django.views import View
    class Home(View):
        #CBV django内容是怎么完的过程?
        #根据提交的头部和内容,头部包括URL,method, django通过反射找到相应的方法。所以django肯定有dispath,可以自己重写dispath,增加自己功能
    
        def dispatch(self, request, *args, **kwargs):
            print("before")
            result=super(Home,self).dispatch( request, *args, **kwargs)#调用父类的dispath
            print("after") #相档于装饰器功能
            return result
    
        def get(self,request):
            print(request.method)
            return render(request,"home.html")
    
        def post(self,request):
            print(request.method)
            return render(request,"home.html")

    3.模板home.html

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/common.css">
    </head>
    <body>
        <form action="/home/" method="post">
            <input type="text" name="user" />
            <input type="submit" value="+">
        </form>
        <script src="/static/jquery-1.12.3.js"></script>
    </body>
    </html>
  • 相关阅读:
    关于浏览器缓存
    JavaScript基本概念(数组)
    JavaScript基本概念(对象)
    变量作用域
    Javascript基本概念(语句和函数)
    JavaScript基本概念(操作符)
    JavaScript基本概念(变量和数据类型)
    博客园主题美化,修改主题
    一种简易的表达式求值算法
    Go实现的一个命令行HTTP抓包工具
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/7748107.html
Copyright © 2011-2022 走看看