1. 概念
用两个大括号括起来的文字(例如 {{ variable }} )是 变量(variable) 。
被大括号和百分号包围的文本(例如 {% template tag %})是 模板标签(template tag)。标签(tag)定义比较明确,即:仅通知模板系统完成某些工作。
具体概念请见链接:
https://docs.djangoproject.com/en/1.9/ref/templates/language/
2. 如何搭配应用?
注意template tag中不能够嵌套variable,所以如果需要同时使用的时候,用并列关系,而不是嵌套关系。
3. 举例
我有一个Movie的model,这个model的static_pic
中存储了图片在静态文件夹的地址,静态文件夹通过{% load staticfiles %}
先调用。
现在需要在template上显示图片,那么在src的双引号中,就需要把上面的静态文件夹和movie地址并列放在一起,如下
正确代码(注意下面这一段都在tag中)
img src=”{% static ‘movie/’ %}{{ movie.static_pic }}” alt=”{{ movie.name }}”
错误代码
img src=”{% static ‘movie/'{{ movie.static_pic }} %}” alt=”{{ movie.name }}”
这个错误代码会报这个错误:
Could not parse the remainder: ‘{‘ from ”movie/'{{‘
为什么呢?因为template tag中不能够嵌套variable,嵌套之后识别不出来。