【发布时间】:2021-02-13 05:51:47
【问题描述】:
我正在构建一个 Crud 表模板,因为用户有很多表要更新,并且我在将记录传递给模板时遇到了麻烦。这是我的看法:
def crud_table(request):
user = request.user
org = Organization.objects.filter(user=user)
active_project = Project.objects.filter(organization=org[0],
is_active=True)[0]
assets = Asset.objects.filter(project=active_project)
context_lbls = {'name': 'Name',
'asset_id': 'Asset ID',
'det_curve': "Deterioration Curve",
'class': 'Class',
'surface_type': 'Surface Type',
'Age': 'Age',
'AADT': 'AADT',
'AADTT': 'AADT',
'route': 'Bus Route',
'truck_route': 'Truck Route',
'Length': 'Asset Length',
'HCI': 'HCI'
}
context_data = {'name': Asset.objects.filter(project=active_project),
'asset_id': assets.asset_id,
'det_curve': assets.det_curve.name,
'class': assets.func_class.name,
'surface_type': assets.surface_type.name,
'Age': assets.age,
'AADT': assets.aadt,
'AADTT': assets.aadtt,
'route': assets.is_bus_route,
'truck_route': assets.is_truck_route,
'Length': assets.length,
'HCI': assets.hci
}
context = {'labels': context_lbls, 'records': context_data}
这是我的模板:
<thead>
<tr>
<th>
<span class="custom-checkbox">
<input type="checkbox" id="selectAll">
<label for="selectAll"></label>
</span>
</th>
{% for l in labels %}
<th>{{l}}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<td>
<span class="custom-checkbox">
<input type="checkbox" id="checkbox1" name="options[]" value="1">
<label for="checkbox1"></label>
</span>
</td>
{{ records }}
{% for r in records %}
<td>{{r}}</td>
{% endfor %}
</tr>
</tbody>
我的context_data 显然不正确,我只是不确定如何将信息传递给模板。我这样做是为了避免创建多个 HTML 文件和视图。那么将数据从 Django 推送到模板的理想方式是什么?
【问题讨论】:
标签: python-3.x django django-templates django-queryset