Django模板
快捷键
- Control + d 复制一行,插入到下面
- alt + shift + 上下 代码移动
标签
- {% %} 标识符
- 标签分为单标签和成对的标签
- 成对的标签切记不可以省略,开始标签和结束标签
结构标签
- block
- 块,
- 用来规划布局
- 首次出现,代表规划
- 第二次出现,代表填充以前的规划
- 第三次出现,代表填充以前的规划,默认动作都是覆盖
- 如果不想覆盖,可以添加{{block.super}}
- 实现增量操作
- extend
- 继承
- 可以获取父模板的所有结构
- block + extend
- 化整为零
- include
- 包含
- 可以将页面作为一部份嵌入其他页面中
- include + block
- 由零聚一
- 三个标签可以混合时候用
静态资源
- 动静分离
- 创建静态文件夹
- 在settings中注册 STATICFILES_DIRS=[]
- 在模板中使用
- 先加载静态资源{% load static %}
- 使用{% static ‘xxx’%} xxx相对路径
- 坑点
- 仅在debug中可以使用
- 以后需要自己单独处理
urls
- 路由器
- 按照列表书写顺序进行匹配
- 从上到下匹配,没有最优匹配
- 路由规则编写
- 通常直接指定以 ^ 开头,
- 结尾处直接添加 /
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
- 路由路径中的参数使用()进行获取
- 一个圆括号对应视图函数中的一个参数
- 参数
- 路径参数
- 位置参数
- 按照书写顺序进行匹配
- 关键字参数
- 按照参数名称匹配
- 和参数无关
- 位置参数
- 参数个数必须和视图函数中参数个数一致,除默认的request以外
- 路径参数
- 反向解析
- 根据在跟路由中注册的namespace和在子路由中获取的name,这两个参数来动态获取路径
- 在模板中使用 {% url ‘namespace:name’ %}
- 如果带有位置参数 {% url ‘namespace:name’ value1 value2 … %}
- 如果带有关键字参数 {% url ‘namespace:name’ key1=value1 key2=value2 … %}
错误页面定制
- 在模板中重写错误状态码页面
- 关闭 Debug
- 实现原则
- 就近原则
双R
- Request
- 内置属性
- method
- path
- GET
- 类字典结构
- 一个key允许对应多个值
- get
- getlist
- POST
- META
- 各种客户端元信息
- REMOTE_ADDR 远程访问ip
- 内置属性
知识点
- locals
- 内置函数
- 将局部变量,使用字典方式进行打包
- key是变量名,value是变量中的存储数据