python django 模板相关配置 DTL jinja2 使用python中的变量 语法

模板相关配置:

settings.py配置相关:

templates相关配置:

配置选项:

 BACKEND----------模板引擎配置

          django.template.backends.django.DjangoTemplates

          django.template.backends.jinja2.Jinja2

  DIRS------------模板引擎按列表顺序搜索这些目录以查找模板源文件 上面图片那样写法可以解决一些夸平台问题

  APP_DIRS-------决定模板引擎是否应该进入每个已安装的应用中查找模板需要再INSTALLED_APPS里面做添加模块文件夹路径

OPTIONS-------其他选项配置

使用python中的变量:

   

 

 

DTL跟jinja2之间的区别:

类成员的用法:

 常用模板标签:

 

 循环控制

{% for item in data_list %}
    <li> 内容</li>
{% empty %}
    <li>暂无内容 </li>
{% endfor %}

循环内的变量forloop
变量 描述
forloop.first 如果是第一次迭代,为 True
forloop.last 如果是最后一次迭代,为 True
forloop.counter0 计数器,从0开始
forloop.counter 计数器,从1开始

 for 循环 dict(字典)
    {% for key, value in data.items %}
    {{ key }}: {{ value }}
    {% endfor %}

 重复循环( 循环中再循环) 
    {% cycle 'row1' 'row2' %}

与Jinja2的区别
 循环变量forloop, Jinja2 中为 loop 
     List为空:{% empty %}, Jinja2中为 {% else %}
 循环中的再循环
    DTL: {% cycle 'odd' 'even’ %}
    Jinja2: {{ loop.cycle('odd', 'even') }}
 DTL 不支持continue和 break 


 条件控制

语法参考
    {% if condition_a %}
    满足了 条件 A
    {% elif condition_b %}
    满足了 条件 B
    {% else %}
都不满足
    {% endif %}
     ifequal ifnotequal /
    {% ifequal a b %}
    ...
    {% endifequal %}

循环内ifchanged

其他逻辑控制
• and, or
• == , !=
• > , <
• >= , <=
• in, not in
• is


 模板注释

添加注释
    {# 注释内容 #}
    {% comment " 简单的描述" %} 
    <p>HTML create_date 内容}}</p>  {{
    {% endcomment %}

与HTML注释的区别
    <!-- -- 注释内容 >


 URL解析

URL标签的使用
    {% url 'url_name' params %}

static URL 静态文件 解析
    {% load static %}
    <img src="{% static "images/cat.jpg" %}" alt="Cat">

与Jinja2的区别
DTL
    {%  'url_name' params %}
Jinja2
    {{ url_for('index') }}

 with语句块

语法参考
    {% with alpha=1 beta=2 %}
    ...
    {% endwith %}

 当前时间显示

当前时间显示
    {% now " F Y H:i" %}
DTL Jinja2 与 的使用区别
 区别一:循环中的区别
 区别二:URL解析的区别

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值