【问题标题】:django change form field in .html template outputdjango 更改 .html 模板输出中的表单字段
【发布时间】:2010-12-31 06:37:23
【问题描述】:

我根据模型创建了一个表单,如下所示:

class ContactSelectionForm(forms.ModelForm):

    contacts = ManyToManyByLetter(Contact, field_name="first_name")

    class Meta:
        model = ContactSelection
        exclude = ('created_by',)

当我处理这个视图时,我在 .html 输出中看到一个标有“联系人”的字段。 现在我想知道是否可以更改此输出。例如,我想将此字段命名为“选定联系人”而不是“联系人”。

这是.html模板的表单处理部分:

<form action="{{ request.path }}" method="POST">
        <div> 
            <fieldset class="module aligned"> 
                {% for field in form.visible_fields %}
                    <div class="form-row">
                    {# Include the hidden fields in the form #}
                    {% if forloop.first %}
                        {% for hidden in form.hidden_fields %}
                        {{ hidden }}
                        {% endfor %}
                    {% endif %}

                    {{ field.errors }}
                    {{ field.label_tag }} {{ field }}
                    </div>
                {% endfor %}
                <p><input type="submit" value="Save" /></p>
            </fieldset>
        </div>
    </form>

如果有人想知道表单中的 ManyToManyByLetter(Contact, field_name="first_name") 是什么,请查看http://code.google.com/p/django-ajax-filtered-fields/。一个非常有用的 many2many javascript 库。

【问题讨论】:

    标签: django django-templates django-forms


    【解决方案1】:

    您是否尝试设置字段标签? (the docs)

    contacts = ManyToManyByLetter(Contact, field_name="first_name", label="Selected Contacts")
    

    【讨论】:

    • 不,我之前没试过。但它有效。谢谢你。我应该更加熟悉文档,而不是尝试在 google 上搜索所有内容。
    • 不客气。是的。文档很棒。无论如何,它几乎总是像 django+form+label 这样的搜索的第一个结果
    猜你喜欢
    • 2013-07-17
    • 2015-08-03
    • 2012-08-10
    • 2019-07-31
    • 2013-10-02
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多