首页 > 解决方案 > 重新排序 django 表单字段

问题描述

我尝试重新排序表单字段,但找不到合适的方法。这是我的表格

class UserSignupForm(SignupForm):
    def __init__(self, *args, **kwargs):
        super(UserSignupForm, self).__init__(*args, **kwargs)
        self.fields["first_name"] = CharField(label="Prénom")
        self.fields.keyOrder = ['first_name', 'email', 'password1', 'password2']

并渲染到模板中

<form class="signup" id="user_signup_form" method="post" action="{% url 'user_signup' %}">
            {% csrf_token %}
            {{ form|bulma }}
            {% if redirect_field_value %}
                <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
            {% endif %}
            <button type="submit" class="button is-primary">{% trans "Sign Up" %}</button>
        </form>

如您所见,我通过添加字段覆盖了 django-allauth 的 SignupForm。然后,我想重新排序字段以将 first_name 设置为第一个字段。不幸的是,我没有找到解决方案,也不想编辑 html 渲染。

有什么解决办法吗?

标签: djangodjango-forms

解决方案


@brianD 帮助我找到了解决方案,这是更新后的表格:

class UserSignupForm(SignupForm):
    first_name = CharField(label="Prénom")
    field_order = ['first_name', 'email', 'password1', 'password2']

推荐阅读