Python Django Template、Views、Urls总结

一、Template  模版

  • MTV中的Template
  • 充当数据展示的角色
  • 在Django中使用的就是Django模版
  • 模版组成
    • 1、静态HTML
    • 2、模版语法
      • 变量  {{ var }}
        • 变量名遵循命名规范
        • 来源
          • 视图中传递过来的
          • 标签中,逻辑创建出来的
      • 标签  {{ % exp % }}
        • 将标签分为单标签和双标签
        • 双标签必须闭合
        • 结构标签
          • block  块、坑
            • 用于规划,填充页面
            • 首次出现代表规划、
            • 第二次出现代表填坑
            • 第三次出现也代表填坑,默认会覆盖
            • 第N次...
            • 如果不想被覆盖  block.super
          • extends  继承
            • 面向对象的体现
            • 提高模版的复用率
          • include  包含
            • 将其它模版作为一部分,包裹到我们的页面中
          • block + extends  化整为零
          • include + XXX  由零聚一
        • 功能标签
          • if
            • 分支
            • 判断
            • if - else
            • if - elif - else
          • for
            • for i in xxx
            • empty
            • forloop
          • ifequal
          • ifnotequal
          • withratio
        • 过滤器
          • 将前面的输入作为后面的输出
          • upper
          • lower
          • safe
            • 确认安装
            • 进行渲染
          • add
        • 注释
          • 单行  {#  #}
          • 多行{% comment %}
  • 模版加载
    • 加载模版
    • 渲染模版
  • 请求状态码
    • 2xx:成功
    • 3xx:重定向
    • 4xx:客户端错误
    • 5xx:服务端错误

 

二、Views

  • 视图函数,MTV中的Views相当于Controller作用
    • 控制器  接收用户输入(请求)
    • 协调模版模型,对数据进行处理
  • 路由器
    • urls
      • urlpatterns
      • url
        • 根路由中,会使用include形式将整个子路由添加进来
          • 第一个参数    路由路径
          • 第二个参数    include包含的是哪个APP
          • 第三个参数    namespace
        • 子路由中,前两个参数一致
          • 第三个参数    name
        • 可以根据namespace:name  动态获取路由(path)
    • 接收参数
      • 路径参数
        • 位置参数
          • 使用圆括号包含规则
          • 一个圆括号代表一个参数
          • 代表视图函数上的一个参数
          • 参数个数和视图函数上的参数一一对应(除默认request)
        • 关键字参数
          • 可以在圆括号指定参数名字(?P<name>reg)
          • 视图函数中存在和圆括号中name对应的参数
          • 参数不区分顺序
          • 个数也需要保持一致,一一对应
      • 请求参数
    • 反向解析
      • 在模版中使用
      • {% url %}
        • {% url 'namespace:name' %}
        • 如果存在位置参数    {% url 'namespace:name' value1 value2 ... %}
        • 如果存在关键字参数    {% url 'namespace:name' key1=value1 key2=value2 %}
    • 规则
      • 按照书写规则,从上到下匹配
      • 没有最优匹配的概念,匹配到此就停止
  • 双R
    • Request
      • django框架根据Http请求报文自动生成的一个对象
      • 包含了请求各种信息
      • path
      • method
        • GET
        • POST
      • encoding
      • GET
        • QueryDict
        • 类字典结构
          • key-value
          • 一个key可以对应多个值
          • get
          • getlist
      • POST
      • FILES
      • COOKIES
      • session
      • is_ajax()
      • META
        • 元信息
        • 客户端的所有信息,包括ip、用户名等
    • Response
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值