django04模板使用

一、模板

  • 组成
    -网页代码(html/css/js)
    -动态插入数据(逻辑处理,数据渲染,数据填充...)
  • 作用
    快速生成HTML
  • 步骤
    -加载
    -渲染

二、模板使用

  • 变量
    -从视图函数中->模板->显示
    {{变量}}

变量不存在,则插入空的字符串

  • 标签
    逻辑处理
    使用:{% tag %}
  • 标签if
    {% if 条件 %}
        代码区块
    {% else %}
        代码区块
    {% endif %}
    
    {% if 条件 %}
        代码区块
    {% elif 条件 %}
        代码区块
    {% endif   %}
    
    
    # 是否相等
    {% ifequal class1 class2 %}
        <p>同班</p>
    {% else %}
        <p>不同班</p>
    {% endifequal %}
    
    # 是否不相等
    {% ifnotequal class1 class2 %}
        <p>同班</p>
    {% else %}
        <p>不同班</p>
    {% endifnotequal %}
  • 标签for
    {% for 变量 in 列表 %}
        代码区域
    {% endfor %}
    
    # 循环的当前次数
    {{ forloop.counter}}(从1开始)
    {{ forloop.counter0}}(从0开始)
    # 倒序
    {{forloop.revcounter}}
    {{forloop.revcounter0}}
  • 单行注释
    {# 注释内容 #}

模板中的注释,如果HTML注释 ''

  • 多行注释
    {% comment %}
        注释区块
    {% endcomment %}

  • 过滤器
    # 在变量显示之前修改它
    {{var|过滤器}}
    # 小写
    {{ name |lower }}
    # 大写
    {{ name|upper }}
    # 拼接
    {{ name |join:"#" }}
    # 默认值
    {{ xixi | default:"<>" }}
  • 标签include
    # 加载模板(带参数渲染)
    {% include '模板位置' 参数1 参数2 参数3 %}
    
    # 不带参数
    {% include "index_content.html" %}
    
    # 带参数
    {% include  "index_footer.html" with user="zyz"  namelist=names  %}

三、反向解析

  • 基本语法
    {% url 'namaspace:name' p1 p2...... %}
    name:url添加一个别名(不同应用中,可能会出现重名)
    namespace:命名空间

四、模板继承

  • 作用
    提高页面的代码复用(抽取共有部分,作为基类)

  • block标签
    -挖坑和填坑
    语法
        # 挖坑
        {% block  标签名  %}
        {% endblock 标签名 %}
        # 填坑
        {% block  标签名  %}
        {% endblock 标签名 %}
  • extends标签
    {% extends "base.html" %}

五、HTML转义

    
        return render(request, "cart.html",context={"code": "<h1>购物车</h1>"})
        # html:
        -默认会转义:当成普通字符串
        {{code}}
        {{code|safe}}
        -关闭自动转义
        {% autoescase off %}
            {{code}}
        {% endautoescase %}
        
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,506评论 19 139
  • 声明:转载请注明出处http://www.jianshu.com/p/1664dcfd840c 最近在折腾Djan...
    蛇发女妖阅读 6,459评论 1 10
  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 2,202评论 0 8
  • 10月13日 到了周末轻松时分。喜悦地为好种子浇水施肥晒太阳拔除杂草啦!近期我的目标是每月收入成倍的增长,每月都可...
    颖默阅读 306评论 0 1
  • 我只想对自己说:“从现在起真的要克制,克制把你逐渐拉入深渊的欲望,如果你想未来不讨厌自己的话。” 不知是巧合还是必...
    3e9d876524af阅读 297评论 1 0

友情链接更多精彩内容