0

我是 django 学习者,我正在尝试使用 in-build 创建用户注册表单UserCreationForm

视图.py

from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm

def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_vaild():
            username = form.cleaned_data['username']
            return redirect('blog-home')
    else:
        form = UserCreationForm()

    return render(request, 'users/register.html',{'form':form})

虽然试图POST我正在接收'UserCreationForm' object has no attribute 'is_vaild'。如果我对所有 django 表单的理解正确,就会有一个 is_valid 函数来验证。

请帮助我找到我在这里缺少的东西。

如果您需要任何其他文件详细信息,请告诉我。

我正在使用 Django 2.1,Python 3.6

4

2 回答 2

0

请记住,如果表单无效,您仍然需要发送一些东西!form.is_valid() 在您的代码中添加了几行,顺便说一句,您只是拼错了is_valid()

def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            return redirect('blog-home')
        else:
            # Show user form errors with {% form.errors %} on the template.
            return render(request, 'users/register.html', {'form': form})
    else:
        form = UserCreationForm()

    return render(request, 'users/register.html',{'form':form})
于 2018-11-27T15:56:47.203 回答
0

正如 Abdul Niyas 所说,更改is_vaildis_valid.

于 2018-11-27T14:43:52.613 回答