在 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 %}
循环遍历成员。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!