创建模板

  1. 在项目中创建templates,模板可以都放在里面,或者在对应的视图中创建templates
  2. 在settings中配置templates的路径,如下,BASE_DIR是当前项目文件夹
  3. 当APP_DIR开启时,项目文件夹下的templates找不到的时候会进入app中的模板进行查找

image.png

视图向模板传递变量

  • 模板使用DTL,Django Templates Language

image.png

DTL语法

  • 取值

    1. {{ 变量 }}
  • if 语句 ```python {% comment %} if语句 {% endcomment %} {% if ‘auth’ in book_info.keys %} {% comment %} 元组、列表使用下标取值!字典使用. 取值 {% endcomment %}

    {{ book_info.auth }} is my favorite auth, I love him very much!

    {% else %}

{% endif %}

  1. - for 语句
  2. ```python
  3. {% for i,v in book_info.items %}
  4. <span>{{ i }}, {{ v }}</span><br>
  5. {% endfor %}
  • url反转

    1. {% url 'urlname' args %}

    image.png

  • forloop

    1. {{ forloop.counter }} 遍历的下标,从1开始
    2. {{ forloop.counter0 }} 遍历的下标,下标从0开始
    3. {{ forloop.first }} 是否是遍历的第一个
    4. {{ forloop.last }} 是否是遍历的最后一个
  • with 在with语句内赋值于一个变量,仅限于with语句中使用

    1. {% with var=value %}
    2. {{ var }}
    3. {% endwith %}