我收到此错误,但我无法解决此问题。 以下是文件:views.py
from django.shortcuts import render,HttpResponse
from django.contrib.auth.forms import UserCreationForm
# Create your views here.
def home(request):
numbers=[1,2,3,4,5]
name='satya'
args={'MYname':name,'numbers':numbers}
return render(request,'accounts/home.html',args)
def register(request):
if request.method=='POST':
form=UserCreationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts')
else:
form=UserCreationForm()
args={'form':form}
return render(request,'accounts/reg_form.html',args)
这是reg_form.html
{% extends 'base.html' %}
{% block body %}
<div class="container">
<h1> Register </h1>
<form method="post">
{% csrf_token %}
{{form.as_p}}
<<button type=" submit " class="submit" >Submit</button>
</form>
</div>
{% endblock %}
我已经正确地导入了这些东西但没有得到错误。
答案 0 :(得分:2)
问题是当表单无效时,您没有返回POST请求的响应。您可以通过取消前两行来解决此问题,以便它们针对GET和POST请求运行。
def register(request):
if request.method=='POST':
form=UserCreationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts')
else:
form=UserCreationForm()
args={'form':form}
return render(request,'accounts/reg_form.html',args)