1
我想學習如何使用用戶類,並做了一個窗體,但不能得到它顯示電子郵件,名字和姓氏字段,我有以下代碼:Django窗體不顯示名稱和電子郵件字段
forms.py:
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class RegistrationForm(UserCreationForm):
email = forms.EmailField(required = True)
class Meta:
model = User
fields = (
'username',
'email',
'first_name'
'password1',
'password2'
)
def save(self, commit = True):
user super(UserCreationForm, self).save(commit = False)
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.email = self.cleaned_data['email']
if commit:
user.save()
return user
views.py:
from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.contrib.auth.forms import UserCreationForm
def index(request):
return HttpResponse('index page')
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('accounts')
else:
form = UserCreationForm()
return render(request, 'accounts/register.html', {'form': form})
# Create your views here.
register.html:
{% extends 'accounts/base.html' %}
{% block head %}
<title> Sign Up</title>
{% endblock %}
{% block body %}
<h2>Sign up</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Sign up</button>
</form>
{% endblock %}
當我去/帳戶/註冊一個帶有用戶名,密碼和密碼確認字段的窗體出現,表單工作並保存到數據庫。但在User
模型中包含的first_name
,last_name
,email
字段在哪裏?
你不使用你隨時隨地RegistrationForm更換。 –