首页 > 解决方案 > 如何在 Django 表单中设置表单项顺序?

问题描述

我想在 Django 表单中设置我自己的表单顺序,但是当我运行我的应用程序时,每次我得到一个新的表单排序。这是代码:

from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
from django import forms

class UserCreateForm(UserCreationForm):

class Meta():
    fields =['username', 'email', 'password1', 'password2']
    model = get_user_model()
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields["password1"].label = "Your Password"
    self.fields["password2"].label = "Repeat Your Password"

用户模型是:

from django.db import models
from django.contrib.auth.models import User, PermissionsMixin
# Create your models here.

class UserModel(User,PermissionsMixin):
    def __str__(self):
         return "@{}".format(self.username)

在这种情况下我能做什么?提前致谢

标签: pythondjangodjango-forms

解决方案


我只是这样做,它对我有用:

class UserCreateForm(UserCreationForm):

    class Meta():
        fields = ('username', 'email', 'password1', 'password2')
        model = get_user_model()
        fields_order = ['username', 'email', 'password1', 'password2']
    def __init__(self, *args, **kwargs):
       super().__init__(*args, **kwargs)
       self.fields["password1"].label = "Your Password"
       self.fields["password2"].label = "Repeat Your Password"

推荐阅读