Django - 我想要一个通用的表单页面,但有一些细节

时间:2012-02-02 05:55:44

标签: django django-forms

我正在尝试制作一个通用表单来处理我项目的所有情况。换句话说,对于用户需要填写表单的任何情况,我将始终呈现此default_form.html页面。

我想模仿管理页面的功能,如果字段是外键,则添加新值会有一点加号。我已经想出了如何完成弹出窗口并添加新的外键值,但现在我需要模板来确定哪个字段是外键选择字段并显示小加号图标。

例如:

{% if this field is a 'select' type input for a foreign key %}
    <td>{{ field }} <img src="addNew.jpg" /></td>
{% else %}
    <td>{{ field }}</td>
{% endif %}

有关如何确定该字段是否为外键选择字段的任何想法?

1 个答案:

答案 0 :(得分:1)

一种方法是,编写自定义过滤器以像这样检查表单的字段

{% if form.username.field.widget|is_select %}
  <td>{{ field }} <img src="addNew.jpg" /></td>
{% else %}
  <td>{{ form.username }}</td>
{% endif %}

此处form.username是字段,is_select是自定义过滤器,用于检查此字段widget是否为select或其他内容。您可以从django code

获取更多信息