菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Django 模板变量


模板变量

在 Django 模板中,你可以通过将变量放在 {{ }} 括号内来渲染它们。

示例

templates/template.html:

<h1>Hello {{ firstname }}, how are you?</h1>
运行示例 »

在视图中创建变量

上面的例子中的变量 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 %} 来遍历 members。

你将在下一章中学习更多关于 模板标签 的知识。

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持