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初探

 

posted @ 2019-02-13 22:27  烛爻  阅读(101)  评论(0编辑  收藏  举报