0

まず、エラーの意味はわかっていますが、構成について混乱しているだけです。

次のエラーが表示されます。

views.Registration didn't return an HttpResponse object

問題は、にアクセスするlocalhost/Registerと、上記のエラーが発生することです。

Q:にアクセスしたとき (一番下) にテンプレートをロードしたときlocalhost/Registerからフォームを表示したい場合 。それ、どうやったら出来るの?現在指定しているような別のビューを作成する必要がありますか? 私の考えは、表示時に(フォームを含む)を表示するために実行されることでしたRegistrationForm()register.htmlrender()/Register/NewUserrender()template/Register

コード:ビュー:

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 
        })
4

2 に答える 2

0

いいえ、それelse以降のすべてを 1 インデント レベルだけ戻してください。それ以外の場合、リクエストが POST でない場合は何も返されません。

于 2013-08-16T15:09:51.870 に答える