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模板语法主要形式:
{% 命令 参数 %}
{% 命令 %}
{{ 变量 }}