Django Day3
1.反向解析
- 作用:动态获取路由路径
- 依据:总路由中获取的namespace和子路由中的name共同确定地址
- 使用方法:template模板中使用{% url 'namespace:name‘ %)
- 如果使用参数,格式为{% url 'namespace:name‘ value1 value2 ... %)
- 如果使用关键字参数,格式为{% url 'namespace:name‘ key1=value1 key2=value2 ...%)
2.服务器状态码
- 1XX 信息型状态码
- 2XX 成功状态码
- 200 正确
- 204 No Content
- 206 Partial Content
- 3XX 重新定向状态码
- 301 永久重定向
- 302 暂时重定向
- 303 同302,但只能GET访问
- 304 发送带条件的请求而且条件不满足时返回
- 4XX 客户端错误状态码
- 400 服务器未理解
- 401 没有认证或权限
- 403 服务器禁止访问
- 404 最常见,服务器没找到相关文件,但也可能时服务器不想给你
- 5XX 服务器错误状态码
对于后台开发人员,不能出现5XX的错误- 500 服务器有错误,最有可能是源码问题
- 501 服务器中在维修
3.错误页面定制
- 模板中重写错误状态码页面
- Debug = False, 设置allowed_hosts
- 实现原则
- 就近原则,默认使用DJango库内的404,可以在模板中重写覆盖
4.view视图函数参数request详解
- 共有path,method,GET,POST等常见参数
- 其中GET方法返回url中部分信息,返回形式为QueryList,查询方法:
- 类似字典,使用get根据健名获得直
- 如果直为列表,需要使用getlist获取
- 利用html的form上传表单数据
- form格式: form action="url" method="POST"
- META:含有客户端众多信息的ATTR
5.Template模板语法
-
变量
- {{ }},变量命名规范
- view 函数传入 | 标签逻辑创造
-
标签
- {% exp %},分为单标签和双标签
- 结构标签
- block 分块,用来规划布局
- extends 继承,获取副模板中的所有结构,多用子模板
- include 同上,多用于父模板 - 标签
6.Django模板
- forloop for循环中的控制器
- counter | counter1 | reversecounter | reversecounter1,计数器
- first | last 返回循环中的第一个和最后一个
- 注释:单行注释{# 注释 #} | 多行注释 {% comment %} 注释 {% endcomment %}
- 乘除: {% widthratio A 分子 分母 %}
- 过滤器
- {% if num|divisibleby:2 %}
- {% if num|add:2 %}
- {% if num|lower&upper%}
- save 渲染页面,保证安全的前提
7.获取url路径中的参数
- 类似正则匹配(\d+)
- 相应视图函数提供除request之外的数目相同的参数
8.locals()
- 内置函数
- 将局部变量以字典形式进行打包
- 简化返回是操作
欢迎加入我的公众号,期待与你的每一天学习