Adding Template

向应用程序中添加模板

在上一章中,我们设法在网页中显示数据库表的内容:

为了在这些值周围添加一些 HTML,我们将为应用程序创建一个模板。

所有模板必须位于应用程序外的 templates 文件夹中,如果尚未创建 templates 文件夹,那请先创建。

templates 文件夹中,创建一个名为 index.html 的文件,包含以下内容:

members/templates/index.html:

  1. <h1>Members</h1>
  2. <table border="1">
  3. {% for x in mymembers %}
  4. <tr>
  5. <td>{{ x.id }}</td>
  6. <td>{{ x.firstname }}</td>
  7. <td>{{ x.lastname }}</td>
  8. </tr>
  9. {% endfor %}
  10. </table>

你注意到 {%  %}{{  }} 部分了吗?它们被称为模板标签。

模板标记让您可以在模板中执行逻辑和渲染变量,稍后您将了解有关模板标记的更多信息。


修改视图

更改 index 视图以包含模板:

members/views.py:

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

index 视图执行以下操作:

  • 使用 Members 模型的所有值创建 mymembers 对象。
  • 加载一个 index.html 模板。
  • 创建包含 mymember 对象的对象。
  • 将对象发送到模板。
  • 输出模板渲染的 HTML。

在 window 浏览器的地址栏输入 127.0.0.1:8000/members/

结果: