Django教程(4)——Django模板语法

2018-08-20  本文已影响64人  Hemmelfort

目标:
了解Django模板的常用方法。

 

1. 一个典型的模板文件头

{% load staticfiles %}
<head>
    <title>{{ WebTitle }} </title>
    <link rel="shortcut icon" href="{% static 'image/favicon.ico' %}">
    <script src="{% static 'js/jquery.min.js' %}"></script>
</head>

其中{% load staticfiles %}用以加载静态文件路径。
使得后面的{% static 'image/favicon.ico' %}能够找得到。
{{ WebTitle }}是占位符,需要通过在views.py给变量WebTitle赋值。
(注意命令是个大括号夹两个百分号,变量是两个大括号)

Django是遵循MVC模式的开发框架,所以模板与views.py的联系密不可分。

 

2. 模板的继承

父页面father.html

<body>
    父页面这里定义了一个区块 SubContent ,由继承者在子页面中修改
    {% block SubContent %}
    {% endblock %}
</body>

子页面son.html

{% extends father.html %}
{% block SubContent%}
    <p>
        子页面在开头用 extends 方法继承了父页面,需要定义父页面中名为 SubContent 的区块。
        添加内容的位置在 block 和 endblock 标志之间。
    </p>
{% endblock %}

注意:继承命令{% extends father.html %}必须写在最前面!
 

3. 模板的嵌套

假设网页菜单栏为menu.html,当其他页面要使用该菜单栏时可以在需要放置的地方添加

{% include 'menu.html' %}

 

4. 条件判断与循环语句

Django的模板中也会用到if语句和for语句,例如:

{% for item in List %}
     {% if 'something' in item %}
          <p> hehe </p>
     {% else %}
          <div> {{ item }} </div>
     {% endif %}
{% endfor %}

其中for/ in/ if/ endif/ endfor是关键字,List是views.py传来的参数。

 

总结:
Django模板语法主要形式:
{% 命令 参数 %}
{% 命令 %}
{{ 变量 }}

上一篇下一篇

猜你喜欢

热点阅读