Django Http请求生命周期

day54

请求响应Http

  1、发送Http请求

  2、服务器接收,根据请求头中的的url在路由关系表中进行匹配(从上到下)

  3、匹配成功后,执行指定的views函数

  4、业务处理

 

 

    URL----》函数       (FBV---->function base views)

    URL---->类    (CBV)

    CBV 的写法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
urls.py
-------------------------------------------------------------------------------------------
    path('cbv',views.CBV.as_view())
 
-------------------------------------------------------------------------------------------
views.py
 
from django.views import View
class CBV(View):
    def get(self,request):
        return HttpResponse("CBV get")
 
    def post(self,request):
        return HttpResponse("CBV post")用户请求----》urlpattern---->CBV(View)源码--->dispatch---->具体的执行方法

后面在实际用CBV的时候,使用下面的代码

1
2
3
4
5
6
from django.views import View
class CBV(View):
    def dispatch(self, request, *args, **kwargs):
        print("这里写需要执行的逻辑代码,自定义功能,然后走下面的代码,把相应的结果返回给客户端。这样的话我们就不用写一堆的if判断了,会自动匹配 http_method_names")
        result=super(CBV, self).dispatch(request,*args,**kwargs)
        return result

  

  请求字符串

    请求头(RequestHeader)

    请求体

  响应字符串

    响应头(ResponseHeader)

    响应体(Html字符串)

 

创建project的流程
1、Pycharm创建一个Django项目,添加一个app应用
2、静态文件配置 STATICFILES=(os.path.join(BASE_DIR,'static'))
3、app注册 settings.py---INSTALLED_APPS-->'appname'
4、模板路径创建 settings.py--->TEMPLATES--->'DIRS': [os.path.join(BASE_DIR,'templates')],

 

posted @   BigBao的博客  阅读(379)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2016-11-08 zabbix自动发现功能实现批量web url监控
点击右上角即可分享
微信分享提示