问题描述:
在Django的HTML模板文件中,我们如何访问View视图函数传进来的变量呢?
使用方法总结:
1、访问变量:
{{ variable_name }}
2、for循环
{% for post in posts %}
//其他代码
{% endfor %}
3、if分支结构
{% if tag %}
标签列表页:{{ tag.name }}
{% elif category %}
分类列表页:{{ category.name }}
{% else %}
首页
{% endif %}
4、访问Post实例对象中的字段
// title字段
{{ post.title }}
// 访问一对一外键category的name字段
{{ post.category.name }}
// 访问多对多外键tag,这个时候需要借助for循环
{% for tag in post.tag.all %} // 先获取所有的tag,然后借用for循环访问每一个tag
{{ tag.id }}
{{ tag.name }}
{% endfor %}
5、block的使用
在base.html模板中定义block :
// base.html
{% block block_name %}
{% endblock %}
在list.html模板中,继承base.html模板
{% extends "./base.html" %}
然后就可以在list.html模板中重写该block了。
{% block block_name %}
<h2>{{ post.title }}</h2>
<hr/>
<p>
{{ post.content }}
</p>
{% endblock %}