十八、Django之Http
1.一、计算机初识2.二、数据概述3.六、ip地址与子网划分4.五、网络通信实现5.四、字符编码6.三、网络基础7.十四、MySQL与Django之Model基础8.十三、Django Admin9.十二、Django视图函数和模版相关10.十一、Django url控制系统11.十、Django静态文件12.九、Django环境搭建(基于anaconda环境)13.八、Python开发环境管理14.七、ip地址配置15.二十五、JSON跨域16.二十四、文件上传17.二十三、Django Serializes18.二十二、Django之Form组件19.二十一、分页20.JS笔记21.二十、基于Bootstrap和FontAwesome制作页面22.十九、Ajax和iFrame
23.十八、Django之Http
24.十七、Cookie和Session25.十六、Django的ORM(二)26.十五、Django的ORM27.实践中前端的一些笔记28.二十六、登录相关29.二十九、RBAC+动态菜单30.二十八、XSS31.JS第三方插件32.二十七、简单的验证码实现33.三十二、Django实践的笔记34.三十一、动态Form35.三十、Kingadmin1、Django请求的生命周期
请求响应Http
1、发送Http请求
请求头(包含Cookie)
\r\n\r\n
请求体
2、服务器请求,根据请求头中的url在路由关系表中进行匹配(从上到下)
3、匹配成功后,执行指定的views函数
a. Url -> 函数 ==> FBV
b. Url -> 类 ==> CBV
4、 响应内容
响应头
\r\n\r\n
响应体
def index(request):
ret = HttpResponse('abcdefghijk...')
ret['key1'] = 'value1'
ret['key2'] = 'value2'
ret.set_cookie('c1','v1')
ret.set_cookie('c2','v2')
# """
# 头:
# key1=value1
# key2=value2
# cookies={'c1':'v1','c2':'v2'}
# 体:
# abcdefghijk...
# """
return ret
2、FBV
3、CBV
自定义一个继承django.views.generic的View的类,重写get和post方法:
from django.views.generic import View
class CBV(View):
def get(self,request):
return HttpResponse('CBV.GET')
def post(self,request):
return HttpResponse('CBV.POST')
urls路由配置中,用上述创建的类的as_view()方法响应某个url
urlpatterns = [
...
url(r'^cbv$', views.CBV.as_view()),
...
]
#在过往的django版本中,引入View,是from django.views import View。
#在自己的django 1.9.5中,引入View,是form django.views.generic import View。
4、业务处理
a. 根据个人需求自定
b. 操作数据库
○ ①原生SQL
○ ②Django ORM
合集:
Python全栈(Django)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库