HTML Django模板:树选择选项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML Django模板:树选择选项相关的知识,希望对你有一定的参考价值。

<select name="category" id="id_category">
<option value="" selected="selected">---------</option>
{% for item in categories %}
    {% ifequal item.parent_id 0 %}
        <optgroup label="{{ item.name }}">
            <option value="{{ item.id }}">{{ item.name }}</option>
            {% for subitem in categories %}
                {% ifequal subitem.parent_id item.id %}
                   <option value="{{ subitem.id }}">{{ subitem.name }}</option>
                {% endifequal %}
            {% endfor %}
        </optgroup>
    {% endifequal %}
{% endfor %}
</select>

django模板选择选项

【中文标题】django模板选择选项【英文标题】:django template select option 【发布时间】:2017-11-20 03:18:44 【问题描述】:

我有以下问题:我想要一个我想在其上使用 Select2 的页面,但选择选项列表应该来自我的数据库。 我有一个表,我想从中选择条目,如下所示: SELECT DISTINCT field FROM table ORDER BY field ASC

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

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

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

假设我有数据库表组织,它有两个字段: ID ,名称 我想使用上面列出的选择来选择“名称”。获取这些数据后,我希望它们用于

<select>
<option>org1</option>
<option>org2</option>
.....
</select>

【问题讨论】:

【参考方案1】:

在您看来,您必须使用一些查询集发送组织数据。 例如,在您看来,您可以返回:

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字段可以在你解压视图中的post数据时获取字段。

【讨论】:

谢谢。有效。我使用 return render_to_response('home.html', 'organisations': organizations) 和组织是我添加条目的对象列表。

以上是关于HTML Django模板:树选择选项的主要内容,如果未能解决你的问题,请参考以下文章

Django:维护在 HTML 模板中选择的选项

在 Django 中检索多个选择选项时出错

Django:在模板中选择带有默认字段的选项

html select标签在django模板中不起作用

Django 使用来自 Ajax 的成功数据更新模板 div

Django:为啥选项不会呈现为选中状态?