Django 3.0值错误
大家好,我对Django3.0有问题。我试图创建一个用户注册页,但我不断得到错误。这是我的密码 用户/视图.pyDjango 3.0值错误,django,valueerror,Django,Valueerror,大家好,我对Django3.0有问题。我试图创建一个用户注册页,但我不断得到错误。这是我的密码 用户/视图.py from .form import UserRegisterForm from django.shortcuts import render, redirect # Create your views here. def register(request): if request.method == 'POST': form = UserRegiste
from .form import UserRegisterForm
from django.shortcuts import render, redirect
# Create your views here.
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('login')
else:
form = UserRegisterForm()
return render(request, 'register.html', {'form': form})
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2']
form.py
from .form import UserRegisterForm
from django.shortcuts import render, redirect
# Create your views here.
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('login')
else:
form = UserRegisterForm()
return render(request, 'register.html', {'form': form})
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2']
register.html
{% extends 'website/base.html' %}
{% block body %}
{% include 'website/nav_bar.html' %}
<div>
<form method="post">
{% csrf_token %}
<fieldset>
<legend>join now</legend>
{{ form.as_p }}
</fieldset>
<button type="submit">submit</button>
</form>
</div>
{% endblock body %}
{%extends'网站/base.html%}
{%block body%}
{%include'website/nav_bar.html%}
{%csrf_令牌%}
现在加入
{{form.as_p}}
提交
{%endblock body%}
这里
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('login')
else:
form = UserRegisterForm()
return render(request, 'register.html', {'form': form})
您忘记了正常的GET
请求:)
诸如此类
def register(request):
form = UserRegisterForm()
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('login')
return render(request, 'register.html', {'form': form})
关于docs网站的更多详细信息您的注册表中目前没有任何
GET
请求句柄,因为如果请求句柄是GET
,则没有return
语句。对于/register/
@dadaolowabukunmanuel中的所有GET
请求,它将返回None
对象,因此如果有效,您可以接受答案:)