django - 名字和姓氏在管理面板中不可见
问题描述
我正在使用 Django-Registration,为什么管理面板中的姓和名是空的是空的,我不知道为什么。
lass UserRegistrationForm(forms.Form):
firstname = forms.CharField(label='First Name',max_length=50)
lastname = forms.CharField(label='Last Name',max_length=50)
username = forms.CharField(label='Username',max_length=50)
email = forms.EmailField()
password1=forms.CharField(label='Password',max_length=50,min_length=5)
password2 = forms.CharField(label='Confirm Password',max_length=50,min_length=5)
views.py
def user_registration(request):
form = UserRegistrationForm()
if request.method == 'POST':
form = UserRegistrationForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password1']
firstname = form.cleaned_data['firstname']
lastname = form.cleaned_data['lastname']
email = form.cleaned_data['email']
user = User.objects.create_user(username,email=email, password=password)
user.firstname = firstname
user.lastname = lastname
user.save()
messages.success(request,'Thaks for registering {} .Enjoy unlimited access to our recipes .'.format(user.username))
return HttpResponseRedirect(reverse('accounts:login'))
else:
form = UserRegistrationForm()
return render(request,'accounts/register.html',{'form': form})
解决方案
默认User
模型提供first_name
和last_name
属性。您应该在保存数据时使用这些属性。
def user_registration(request):
form = UserRegistrationForm()
if request.method == 'POST':
form = UserRegistrationForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password1']
firstname = form.cleaned_data['firstname']
lastname = form.cleaned_data['lastname']
email = form.cleaned_data['email']
user = User.objects.create_user(username,email=email, password=password)
user.first_name = firstname # use the correct attribute here.
user.last_name = lastname # use the correct attribute here.
user.save()
messages.success(request,'Thaks for registering {} .Enjoy unlimited access to our recipes .'.format(user.username))
return HttpResponseRedirect(reverse('accounts:login'))
else:
form = UserRegistrationForm()
return render(request,'accounts/register.html',{'form': form})
推荐阅读
- excel - Excel VBA - 根据值更改单元格颜色
- javascript - 由于另一个选项而更改选择选项
- xamarin.forms - 使用 fody 实时验证按钮
- c - 微控制器的环形缓冲区
- javascript - 通过按下动画屏幕上的按钮滚动 - React Native
- math - LaTeX - 十进制到二进制转换方案
- asp.net-mvc - 我想在编辑表单时填写下拉列表
- c# - 从具有相同属性值的集合中选择对象
- fonts - 如何将位图字体 (.Fon) 转换为 TrueType 字体 (.ttf)?
- javascript - 我想使用节点 js 检查我的文件夹中是否存在扩展名为 .mp4 的文件