2017-12-20 14 views
0

このエラーが発生しており、これを修正できませんでした。ここ は、ファイルは次のとおりです。ここではviews.pyValueError:view accounts.views.registerはHttpResponseオブジェクトを返しませんでした。代わりにNoneを返しました

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)  

{% 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 %} 

reg_form.htmlである私が正しく物事をインポートしたが、何が間違っているようになっていません。

答えて

1

フォームが無効な場合、POST要求に対する応答を返さないという問題があります。最後の2行のインデントを解除することで、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)  
関連する問題