Django Day3

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()

  • 内置函数
  • 将局部变量以字典形式进行打包
  • 简化返回是操作

欢迎加入我的公众号,期待与你的每一天学习

全能技术进阶之路

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。