首先,我知道错误意味着什么,我只是对配置感到困惑。
我得到了一个错误:
views.Registration didn't return an HttpResponse object
问题是当我访问localhost/Register
时,我会得到上面的错误。
Q:如果我希望localhost/Register
在访问/Register
时在render()
中加载register.html
模板时从RegistrationForm()
中显示表单。我该怎么做?是否需要创建另一个视图,如当前指定的/NewUser
?我的想法是,render()
将在查看/Register
时执行以显示template
(其中包含表单)
代码:视图:
def Registration(request):
RegForm = RegistrationForm(request.POST or None)
if request.method == 'POST':
if RegForm.is_valid():
clearUserName = RegForm.cleaned_data['userNm']
clearPass = RegForm.cleaned_data['userPass']
RegForm.save()
try:
return HttpResponseRedirect('/NewUser/?user=' + clearUserName)
except:
raise ValidationError('Invalid Request', code='300') ## [ TODO ]: add a custom error page here.
else:
RegForm = RegistrationForm()
return render(request, 'VA/reuse/register.html', {
'form': RegForm
})
发布于 2013-08-16 15:09:51
不,您应该从else
开始将所有内容移回一个缩进级别。否则,如果请求不是POST,则不会返回任何内容。
发布于 2013-08-16 15:06:09
如果请求是“GET”而不是“POST”,则需要呈现某些内容:例如。
def Registration(request):
RegForm = RegistrationForm(request.POST or None)
if request.method == 'POST':
if RegForm.is_valid():
clearUserName = RegForm.cleaned_data['userNm']
clearPass = RegForm.cleaned_data['userPass']
RegForm.save()
try:
return HttpResponseRedirect('/NewUser/?user=' + clearUserName)
except:
raise ValidationError('Invalid Request', code='300') ## [ TODO ]: add a custom error page here.
else:
RegForm = RegistrationForm()
return render(request, 'VA/reuse/register.html', {
'form': RegForm
})
else:
RegForm=RegistrationForm()
return render(request, 'template.html', {'formset': RegForm})
当然,您应该更改模板的上下文,这取决于您需要呈现的内容。
https://stackoverflow.com/questions/18276401
复制相似问题