Django 3.0值错误

Django 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

大家好,我对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 = 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
对象,因此如果有效,您可以接受答案:)