Django 模板标签
模板标签
在 Django 模板中,可以执行编程逻辑,比如执行 if
语句和 for
循环。
这些关键字, if
与 for
,在 Django 中都被称为 "模板标签"。
为了执行模板标签,我们将它们放在 {% %}
括号中。
实例
templates/testing_tags.html:
{% if greeting == 1 %}
<h1>Hello</h1>
{% else %}
<h1>Bye</h1>
{% endif %}
来自模型的数据
上面的例子展示了如何在模板中使用模板标签和变量的简单方法。
通常,要在模板中使用的大多数外部数据都来自模型。
我们在前几章中创建了一个名为 "Members" 的模型,我们将在本教程的下几章中使用该模型。
我们还将创建一个新的视图,该视图将在下一章的所有示实例使用:
members/views.py:
from django.http import HttpResponse, HttpResponseRedirect
from django.template import loader
from .models import Members
def testing(request):
mymembers = Members.objects.all().values()
template = loader.get_template('testing_tags.html')
context = {
'mymembers': mymembers,
}
return HttpResponse(template.render(context, request))
在每个实例中,模板的内容都会发生变化,以更好地演示模板标签,就像下面演示 for
标签一样:
实例
<ul>
{% for x in mymembers %}
<li>{{ x.firstname }}</li>
{% endfor %}
</ul>
结果
- Emil
- Tobias
- Linus
- Lene
- Stalikken