• Django补充


    Http请求生命周期

    1、发送Http请求
    2、服务器接收,根据请求头中的url在路由关系表中进行匹配(从上到下)
    3、匹配成功后,执行指定的views函数
    - URL->函数 ==>FBV模式
    - URL->类 ==>CBV模式
    类的写法:urls.py文件中,path('cbv/', views.cbv(类名).as_view()),
    在views.py文件中写一个类,引入from django.views import View
    类继承 View 。需要写get与post方法,因为View类中有一个dispatch方法
    会先执行它,里面用反射根据请求头中的请求方式匹配原始类中的方法,再执行相应方法
    这个类中可以写'get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'方法
    4、业务处理
    - 根据个人需求自定义
    - 操作数据库
    - 原生SQL
    - Django ORM
    ==> 返回给用户的结果 <==
    - 响应内容
    - 响应头
    - 响应体
    -------------------urls.py-----------------
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('cbv/', views.cbv.as_view()),
    ]
    
    --------------------views.py---------------
    from django.shortcuts import render,redirect,HttpResponse
    from django.views import View
    
    class cbv(View):
        def get(self,request):
            return HttpResponse("cbv.get")
        def post(self,request):
            ret = HttpResponse("cbv.post") # 响应体就在HttpResponse("cbv.post")里面
            ret['h1'] = 'v1'  # 往响应头添加东西
            ret.set_cookie('c1','v2') # 往响应头添加cookie
            '''
            响应头:
                h1=v1
                cookies:
            响应体:
                cbv.post
            '''
            return ret
    
    

    完整的创建一个Django项目流程

    1、创建项目

    2、配置setting.py文件

    配置静态文件目录

    创建静态文件文件夹

    如果需要修改数据库配置,请查看另一篇文章中有介绍 Django初探

  • 相关阅读:
    BZOJ1610: [Usaco2008 Feb]Line连线游戏
    BZOJ4554: [Tjoi2016&Heoi2016]游戏
    BZOJ3174: [Tjoi2013]拯救小矮人
    BZOJ3192: [JLOI2013]删除物品
    BZOJ3156: 防御准备
    BZOJ3875: [Ahoi2014&Jsoi2014]骑士游戏
    BZOJ 1597: [Usaco2008 Mar]土地购买
    洛谷 P3375 【模板】KMP字符串匹配
    洛谷 P3370 【模板】字符串哈希
    BZOJ 1083 繁忙的都市
  • 原文地址:https://www.cnblogs.com/zq8421/p/10372188.html
Copyright © 2020-2023  润新知