Django 模板标签

模板标签

在 Django 模板中,可以执行编程逻辑,比如执行 if 语句和 for 循环。

这些关键字, iffor,在 Django 中都被称为 "模板标签"。

为了执行模板标签,我们将它们放在 {% %} 括号中。

实例

templates/testing_tags.html:

  1. {% if greeting == 1 %}
  2. <h1>Hello</h1>
  3. {% else %}
  4. <h1>Bye</h1>
  5. {% endif %}

来自模型的数据

上面的例子展示了如何在模板中使用模板标签和变量的简单方法。

通常,要在模板中使用的大多数外部数据都来自模型。

我们在前几章中创建了一个名为 "Members" 的模型,我们将在本教程的下几章中使用该模型。

我们还将创建一个新的视图,该视图将在下一章的所有示实例使用:

members/views.py:

  1. from django.http import HttpResponse, HttpResponseRedirect
  2. from django.template import loader
  3. from .models import Members
  4. def testing(request):
  5. mymembers = Members.objects.all().values()
  6. template = loader.get_template('testing_tags.html')
  7. context = {
  8. 'mymembers': mymembers,
  9. }
  10. return HttpResponse(template.render(context, request))

在每个实例中,模板的内容都会发生变化,以更好地演示模板标签,就像下面演示 for 标签一样:

实例
  1. <ul>
  2. {% for x in mymembers %}
  3. <li>{{ x.firstname }}</li>
  4. {% endfor %}
  5. </ul>
结果
  • Emil
  • Tobias
  • Linus
  • Lene
  • Stalikken