嗨,我是Django的新手,我创建了一个Django内置的User和UserCreationForm登录/注销模型。它工作正常,但是我的问题是我在表单中定义了两个自定义输入,并且在运行服务器时显示在网页上,但是当我在admin下检查用户时,我只会看到用户定义字段的详细信息,而没有我的自定义字段。
如何将其数据保存到我的用户模型? 或者,如果我定义的自定义字段错误,该如何更改它,以便将其数据保存在模型中。
我的自定义字段(地址和电话号码)未显示在“管理员用户”中,并且其数据也未保存。
model.py
from django.db import models
from django.contrib import auth
# Create your models here.
class User(auth.models.User,auth.models.PermissionsMixin):
def __str__(self):
return "@{}".format(self.username)
forms.py
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
from django import forms
class UserCreateform(UserCreationForm):
address = forms.CharField(max_length=150,required=True)
phone_number = forms.IntegerField(required=True)
class Meta(UserCreationForm.Meta):
model = get_user_model()
fields = ('username','email','password1','password2')
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
self.fields['username'].label = 'Display Name'
views.py
from django.shortcuts import render
from django.urls import reverse_lazy
from django.views.generic import CreateView
from . import forms
# Create your views here.
class SignUp(CreateView):
form_class = forms.UserCreateform
success_url = reverse_lazy('login')
template_name = 'account/signup.html'