django表单-让django构建您想要的表单 类基本形式(forms.Form): def as_自定义_表(自身): “返回呈现为HTML s的表单--不包括。” 返回self.\u html\u输出( 正常_行=u'(标签)s%(字段)s%(帮助_文本)s', 错误\u行=u'%s', 第四行=第二行“, 帮助\u文本\u html=u'%s', 错误\u在\u单独的\u行=真)

django表单-让django构建您想要的表单 类基本形式(forms.Form): def as_自定义_表(自身): “返回呈现为HTML s的表单--不包括。” 返回self.\u html\u输出( 正常_行=u'(标签)s%(字段)s%(帮助_文本)s', 错误\u行=u'%s', 第四行=第二行“, 帮助\u文本\u html=u'%s', 错误\u在\u单独的\u行=真),django,forms,renderer,Django,Forms,Renderer,我试着看看我是否能让django做一些繁重的工作,并以我想要的方式呈现一个表单 这里的问题是,可能有一两个字段需要稍微不同的渲染。例如“请确认您同意我们的条款和条件”复选框,需要跨越两列 还有一些其他事情,例如错误位置,可能需要更改 我可以重写_html_output方法来更改错误位置,但是让单个字段使用不同的渲染方法怎么样 我认为最终我需要恢复到在模板中手动构建表单html,但我只是想知道Django通过一些小的修改可以为我做多少工作。将使用如下模板: class BaseForm(forms

我试着看看我是否能让django做一些繁重的工作,并以我想要的方式呈现一个表单

这里的问题是,可能有一两个字段需要稍微不同的渲染。例如“请确认您同意我们的条款和条件”复选框,需要跨越两列

还有一些其他事情,例如错误位置,可能需要更改

我可以重写_html_output方法来更改错误位置,但是让单个字段使用不同的渲染方法怎么样

我认为最终我需要恢复到在模板中手动构建表单html,但我只是想知道Django通过一些小的修改可以为我做多少工作。

将使用如下模板:

class BaseForm(forms.Form):
    def as_custom_table(self):
        "Returns this form rendered as HTML <tr>s -- excluding the <table></table>."
        return self._html_output(
            normal_row = u'<tr%(html_class_attr)s><td class="label_col">%(label)s</td><td class="field_col">%(field)s%(help_text)s</td></tr>',
            error_row = u'<tr><td colspan="2" class="error">%s</td></tr>',
            row_ender = u'</td></tr>',
            help_text_html = u'<br />%s',
            errors_on_separate_row = True)

{%形式的字段为%}
{{field.errors}}
{{field.label_tag}}:{{{field}
{%endfor%}


您可以使用。

有条件地覆盖特定字段,不知道在实际的django模板renering引擎中是否可以这样做/
<form action="/contact/" method="post">
    {% for field in form %}
        <div class="fieldWrapper">
            {{ field.errors }}
            {{ field.label_tag }}: {{ field }}
        </div>
    {% endfor %}
    <p><input type="submit" value="Send message" /></p>
</form>