Django 模板变量
模板变量
在 Django 模板中,你可以通过将变量放入其中来呈现变量 {{ }}
括号:
在视图中创建变量
变量 firstname
在上面的例子中,通过视图发送到模板:
views.py
:
from django.http import HttpResponse
from django.template import loader
def testing(request):
template = loader.get_template('template.html')
context = {
'firstname': 'Linus',
}
return HttpResponse(template.render(context, request))
运行示例 »
正如您在上面的视图中看到的,我们创建了一个名为 context 的对象并用数据填充它,并将其作为第一个参数发送 template.render()
功能。
在模板中创建变量
您还可以使用以下方法直接在模板中创建变量 {% with %}
模板标签。
变量一直可用,直到 {% endwith %}
标签出现:
例子
templates/template.html
:
{% with firstname="Tobias" %}
<h1>Hello {{ firstname }}, how are you?</h1>
{% endwith %}
运行示例 »
您将详细了解 模板标签 在下一章中。
来自模型的数据
上面的例子展示了如何在模板中创建和使用变量的简单方法。
通常,您想要在模板中使用的大多数外部数据都来自模型。
我们在前面的章节中创建了一个模型,叫做 Member
,我们将在本教程的下一章的许多示例中使用它。
要从 Member
模型,我们必须将其导入views.py
文件,并在视图中提取数据:
members/views.py
:
from django.http import HttpResponse, HttpResponseRedirect
from django.template import loader
from .models import Member
def testing(request):
mymembers = Member.objects.all().values()
template = loader.get_template('template.html')
context = {
'mymembers': mymembers,
}
return HttpResponse(template.render(context, request))
现在我们可以使用模板中的数据:
templates/template.html
:
<ul>
{% for x in mymembers %}
<li>{{ x.firstname }}</li>
{% endfor %}
</ul>
运行示例 »
我们使用Django模板标签 {% for %}
循环遍历成员。
您将详细了解 模板标签 在下一章中。