Django 尝试在表中生成行
以下是我的模型的外观: 我试着填写一张满是磁盘的表格,每个磁盘都有序列号和型号。我将假设我将对“something”%}中的磁盘执行类似{%的操作,但我不太确定这是什么 以下是我所希望的:Django 尝试在表中生成行,django,django-templates,Django,Django Templates,以下是我的模型的外观: 我试着填写一张满是磁盘的表格,每个磁盘都有序列号和型号。我将假设我将对“something”%}中的磁盘执行类似{%的操作,但我不太确定这是什么 以下是我所希望的: <table> <thead> <tr> <th>Serial Number</th> <th>Model Number</th> </tr> </thead>
<table>
<thead>
<tr>
<th>Serial Number</th>
<th>Model Number</th>
</tr>
</thead>
<tbody>
{% for disks in "something" %}
<tr>
<td>{{ disk.serial }}</td>
<td>{{ disk.model }}</td>
</tr>
{% endfor %}
序列号
型号
{%用于“某物”%%中的磁盘
{{disk.serial}}
{{disk.model}
{%endfor%}
模板只是您问题的一部分。实际上,这是一个不太复杂的方面,因为您所做的只是将上下文(字典)传递给它以供访问。模板之前的步骤是组织数据的视图。让我们从这个开始
查看
收集数据的函数(视图)需要构建包含“磁盘”对象的上下文,这可能是数据库模型查询的结果。为了简单起见,让我们假设您这样做了:
disks = Disk.objects.all()
使用disks queryset,您现在可以在上下文中将其传递给模板
context = {"disks": disks}
return render_to_response('my_template.html', context)
上下文现在将传递给模板
模板
只需参考上下文中的对象:
{% for disk in disks %}
<tr>
<td>{{ disk.serial }}</td>
<td>{{ disk.model }}</td>
</tr>
{% endfor %}
{%用于磁盘中的磁盘%}
{{disk.serial}}
{{disk.model}
{%endfor%}
@jdi是正确的,但由于这是web开发中非常常见的事情,因此存在一个问题
在您的url.py
中:
from django.conf.urls import patterns, url, include
from django.views.generic import ListView
from myapp.models import Disk
urlpatterns = patterns('',
(r'^disk_list/$', ListView.as_view(
model=Disk,
template_name='disk_list.html'
)),
)
创建一个名为disk\u list.html
的文件,该文件是TEMPLATE\u DIRS
中列出的任何目录,并在其中添加以下内容:
<table>
<thead>
<tr>
<th>Serial Number</th>
<th>Model Number</th>
</tr>
</thead>
<tbody>
{% for disk in object_list %}
<tr>
<td>{{ disk.serial }}</td>
<td>{{ disk.model }}</td>
</tr>
{% endfor %}
序列号
型号
{对象列表%中磁盘的%
{{disk.serial}}
{{disk.model}
{%endfor%}
最后,导航到
http://localhost:8000/disk_list/
呈现此模板的视图是什么样子的?它只是空白,缺少视图。