简体   繁体   中英

Django create user profile

I created a user profile model for my system. I created all models and it works perfectly. I have a form, and the form works too. But when I look user create form from admin page, it doesn't look the same.

There are some missing parts like rank, comp_name . How can I fix it?

models.py

class UserProfile(models.Model):
    ranks = (
        ('xxx', 'xxx'),
          ...
    
    )
    comp_name = models.CharField(max_length=200, default="Choose")
    user_id = models.UUIDField(default=uuid.uuid4(), editable=False, unique=True)
    username = models.CharField(max_length=500)
    first_name = models.CharField(max_length=200, default=None)
    last_name = models.CharField(max_length=200, default=None)
    password = models.CharField(max_length=50)
    email = models.EmailField(max_length=254)
    rank = models.CharField(max_length=200, choices=ranks)

forms.py

class SignUpForm(UserCreationForm):
    comp_name = forms.CharField(label='What is your company name?')
    email = forms.CharField(max_length=254)
    rank = forms.ChoiceField(label='What is your rank?', choices=UserProfile.ranks)
    first_name = forms.CharField(max_length=250)
    last_name = forms.CharField(max_length=250)
    comp_name = forms.ModelChoiceField(queryset=CompanyProfile.objects.all())
    class Meta:
        model = User
        fields = ('username', 'first_name', 'last_name', 'email', 'comp_name',  'password1', 'password2', 'rank'

admin admin panel "Change User" screen

In forms.py

class SignUpForm(UserCreationForm):
    comp_name = forms.CharField(label='What is your company name?')
    email = forms.CharField(max_length=254)
    rank = forms.ChoiceField(label='What is your rank?', choices=UserProfile.ranks)
    first_name = forms.CharField(max_length=250)
    last_name = forms.CharField(max_length=250)
    comp_name = forms.ModelChoiceField(queryset=CompanyProfile.objects.all())
    class Meta:
        model = User --> change to UserProfile
        fields = ('username', 'first_name', 'last_name', 'email', 'comp_name',  'password1', 'password2', 'rank'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM