为表单django创建模板

时间:2012-11-12 05:45:30

标签: django django-forms django-templates

我目前有一个login.html,里面有一个登录表单。我的所有表单都需要看起来相似,但会有不同的内容。目前我的代码看起来像这样:

<form enctype="multipart/form-data" method="POST" action="">
    <fieldset>
        <legend>{{ legend }}</legend>
        <div style="line-height:18px">{% block top %}{% endblock %}<br></div>
        <table class="form">
        {% for text,name,inputtype in formcontent %}
            <tr>
                <td class="right">
                    <label>{{ text }}:</label><br/>
                </td><td style="float:left">
                    <input name="{{ name }}" type="{{inputtype}}">
                </td>
            </tr>
        {% endfor %}
        </table>
    <input value="{{ button }}" type="submit">
    <div style="line-height:18px">
        <div class="err">
            {{ err }}
        </div>
        {{ bottom }}
    </div>
</fieldset></form>

我想知道是否有更好的方法来做到这一点,而不是将变量放入我的urls.py(假设在页面上可能有多个表单,我不相信这会在所有情况下都有效)。一个很好的解决方案是创建一个类,但我不知道如何从一个页面调用这个类。我知道它会涉及制作标签,但我不知道如何从模板中提供2d数组作为参数。

1 个答案:

答案 0 :(得分:1)

Django Crispy Forms是出于这个原因而作出的。我认为它们正是你所需要的。