django模板选择选项

时间:2017-06-17 12:23:59

标签: django python-2.7

我有以下问题:我想要一个我想要使用的页面Select2,但选择选项列表应该来自我的数据库。 我有一个表,我想用这样的东西选择条目: SELECT DISTINCT字段FROM表ORDER BY字段ASC

这将给出我想在select中使用的列表。在PHP中使用它非常简单,但在Django(我学到的)中我不确定它是如何实现的。

由于某些原因,我不想使用模型和ORM,但是想使用直接选择我自己在视图中定义的数据库表。

为了简化这个例子,我们从这个页面中取出它: Django: Select option in template

让我们假设我有DB表组织,它有两个字段:ID,Name 我想选择' name'使用上面列出的选择。我获取这些数据后,我希望它们在

中使用
<select>
<option>org1</option>
<option>org2</option>
.....
</select>

1 个答案:

答案 0 :(得分:0)

在您的视图中,您必须使用某些查询集发送组织数据。 例如,在您的视图中,您可以返回:

return render(request, template_name, {'organisations': Organisation.objects.all()}) 

上述查询集可以被任何其他查询集替换。 现在,在模板文件中,您可以遍历组织数据,如:

<select name="somename">
{% for organisation in organisations %}
<option value="{{ orgnisation.id }}"> {{ organisation.name }} </option>
{% endfor %}
</select>

当您在视图中解压缩发布数据时,select标记中的name字段可用于获取字段。