【发布时间】:2020-01-18 00:02:01
【问题描述】:
目前在管理站点上我自己的 django 项目中,我只能看到用户名、电子邮件、名字、姓氏和员工状态。我正在使用的 django 提供的UserCreationForm 有一个电话号码文本字段,我包含该字段以让用户输入他们的电话号码,但是,我似乎无法让管理站点存储电话号码记录。请告诉我是否应该对我当前的代码进行任何更改,以便我可以查看电话记录。
想知道我是否应该在我的 admin.py 或 forms.py 中包含任何内容。
/* forms.py */
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from validate_email import validate_email
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
phone_number = forms.IntegerField(required=True)
class Meta:
model = User
fields = ['username', 'email']
def clean_email(self):
email = self.cleaned_data.get("email")
if not validate_email(email, verify=True):
raise forms.ValidationError("Invalid email")
return email
/* views.py */
from django.shortcuts import render, redirect
from django.contrib import messages
from .forms import UserRegisterForm
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
user = form.save()
phone_number = form.cleaned_data['phone']
# do something with phone number??
username = form.cleaned_data.get('username')
messages.success(request, f'Account created for {username}!')
return redirect('blog-home')
else:
form = UserRegisterForm()
return render(request, 'users/register.html', {'form': form})
/* admin.py */
from django.contrib import admin
# Register your models here.
我希望在 django 的管理站点中看到电话号码记录。
【问题讨论】:
标签: python django django-admin django-registration