| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> django梳理 -> 正文阅读 |
|
[Python知识库]django梳理 |
概述 1.? 框架推导流程 前期准备知识 2.? django请求生命周期流程图 ?客户端发送HTTP发送request请求,经过网关发送到中间件,在经过路由层,视图层,模型层/模板层【这两个都与视图层打交道:模板层与视图层有模板语法传值,模型层还会与数据库打交道】然后返回给中间件进行数据安全校验,再发送给网关【经过wsgi协议】封装成数据响应response给客户端。 HTTP 》》web网关》》中间件》》路由views>>【templates》》models》》】,【models》》MySQL】《《views《《中间件校验数据《《web网关经过wsgi协议封装后响应给浏览器。 Django 项目的创建及常见问题_Yietong309的博客-CSDN博客 Django--request 对象_Yietong309的博客-CSDN博客_django的request对象 HttpResponse响应、render 响应、redirect 响应、JsonResponse 响应_Yietong309的博客-CSDN博客_httpresponse render 3. 中间件 中间件走势, 使用场景 自定义的5个方法
csrf及auth模块_Yietong309的博客-CSDN博客 4. 路由层 urls.py Django之路由层_Yietong309的博客-CSDN博客 路由匹配成功之后会调用视图函数, 默认情况下会自动给视图函数传递一个request位置参数。 如果路由中有括号对正则进行分组,优先将括号内的内容匹配【位置参数】。即无名分组, 有名分组就是给它起个别名【关键字参数】。 使用情况: 单个的可以重复使用, 两者不能混用。 反向解析》》 有/无名分组反向解析? 》》 目的: 找到路由进行匹配 路由分发: 多项目并行。 各自有路由, 避免重名, 也可以用namespace。。 5. 视图层 views.py 网页伪静态? a.html 视图函数有返回值,httpresponse 对象 返回json格式字符串》》 import JsonResponse 直接返回json格式, 可代替httpresponse 乱码情况》》{ json-dump-parmas: {ensureascii:false}}? [只能字典, 其他数据类型要+safe=false form表单文件 method属性》》post。? enctype >>默认multpls/form-data, 还有encloded, json ? ? 后端获取文件 request.files>>>.get()可读 FBV与CBV FBV与CBV, CBV源码剖析_Yietong309的博客-CSDN博客 CBV根据请求方式的不同子佛能够识别并匹配路由 6. 模板层? 模板语法传值? {{变量名}}? ?{% 逻辑 %} locals(),? / {name:name} 只支持句点符取值 过滤,类似于内置函数, length,add/... forloop>>for循环 自定义标签, 过滤器 templatetags, inclsion tag? Django--inclusion_tag_Yietong309的博客-CSDN博客 py文件内引入四句话就能进行代码执行 前端页面 {% load mytag %} 自定义函数 simpletag/ inclsiontag() 模板继承与导入 Django 模板的导入与继承_Yietong309的博客-CSDN博客 继承 extend >> block super()进行过更改? 三个区域 导入》》导入某个部分 {% Include a.html %} Django 不同版本的区别--路由层与模板层_Yietong309的博客-CSDN博客 7. 模型层 models。py Django链接MySQL_Yietong309的博客-CSDN博客 Django-ORM 单表查询_Yietong309的博客-CSDN博客 Django--ORM 多表查询_Yietong309的博客-CSDN博客_django orm 连表查询 py文件内引入四句话就能进行代码执行 ORM 关键字 双下线, 查看底层SQL, 外键,? 正反向查询,子查询,,连表查询, 聚合查询【aggregate],分组查询[annotate], 分组前后查询条件 filter 在annotate前后 where/ having F查, 查表里的字段,到模块 Q查, 逻辑, 字符串搜索? ORM优化查询 only & defer? , prefetch_related/select_related 查的字段能否点出来, 走不走数据库查询 ORM 单表记录与字段操作_Yietong309的博客-CSDN博客 事务特性acid MySQL 事务隔离级别,读现象,MVCC_Yietong309的博客-CSDN博客 ORM字段及参数Django--ORM 常用字段及属性介绍_Yietong309的博客-CSDN博客 ?四种表关系, 第三张表创建方式 ?orm查询相关 8. Ajax 异步提交,局部刷新Ajax简介_Yietong309的博客-CSDN博客 序列化 serializer 分页器? bulk_create/update? ?渲染》》 divmod() 9. form 组件?form组件源码 校验数据? 钩子?钩子函数和forms组件_Yietong309的博客-CSDN博客_cookie钩子 渲染页面 {% for xx in xx_obj %} ? ? p {{ form.label}} {{form}} p 展示信息? 错误提示 model form组件? fields = '__all__'? ?instance参数 ?django自带的序列化组件_Yietong309的博客-CSDN博客 10. cookie, session 客户端, 浏览器? 》》》token? 登录设置cookie,装饰器校验多个视图函数校验用户是否登录, session 14天, 字典? request.session['name'] = 'jason'赋值加密??request.session.get('name')比对解密展示?? 5种存session的方式? ?delete/ flush/set_expiry(v) cookie, session 与 token --JWT_Yietong309的博客-CSDN博客 django操作session、django中间件简介、五个常见方法、CBV添加装饰器的三种方式、csrf跨站请求伪造_Yietong309的博客-CSDN博客_django session中间件 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 1:52:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |