Adding Template
向应用程序中添加模板
在上一章中,我们设法在网页中显示数据库表的内容:
为了在这些值周围添加一些 HTML,我们将为应用程序创建一个模板。
所有模板必须位于应用程序外的 templates
文件夹中,如果尚未创建 templates
文件夹,那请先创建。
在 templates
文件夹中,创建一个名为 index.html
的文件,包含以下内容:
members/templates/index.html:
<h1>Members</h1>
<table border="1">
{% for x in mymembers %}
<tr>
<td>{{ x.id }}</td>
<td>{{ x.firstname }}</td>
<td>{{ x.lastname }}</td>
</tr>
{% endfor %}
</table>
你注意到 {% %}
和 {{ }}
部分了吗?它们被称为模板标签。
模板标记让您可以在模板中执行逻辑和渲染变量,稍后您将了解有关模板标记的更多信息。
修改视图
更改 index
视图以包含模板:
members/views.py:
from django.http import HttpResponse
from django.template import loader
from .models import Members
def index(request):
mymembers = Members.objects.all().values()
template = loader.get_template('index.html')
context = {
'mymembers': mymembers,
}
return HttpResponse(template.render(context, request))
index
视图执行以下操作:
- 使用 Members 模型的所有值创建 mymembers 对象。
- 加载一个 index.html 模板。
- 创建包含 mymember 对象的对象。
- 将对象发送到模板。
- 输出模板渲染的 HTML。
在 window 浏览器的地址栏输入 127.0.0.1:8000/members/
。
结果: