2017-06-28 3 views
0

私のdjangoアプリケーションのプロファイルページにボタンがあります。そのボタンをクリックした後、ホームページにリダイレクトします。Djangoで正しくリダイレ​​クトする方法は?

細かい作業や機能があるされているボタンのクリック、views.py内の関数がマッピングされている場合:

@require_http_methods(['GET','POST']) 
    def permanentblock(request,Username): 
     blocker = MyUser.objects.get(username=request.user.username) 
     blocked = MyUser.objects.get(username=Username) 
     a = bl_.objects.create(blocker=blocker,blocked=blocked,myboolean=True) 
     redirect(reverse('home',kwargs={'id':request.user.id})); 
#there is a entry in my urls.py for 'home' variable along with the parameter. 

、関数の最後から二番目の行まで、それが正常に動作しています、表がupdated.Butで、示されたエラーがあります:

ValueError at /account/permanentblock/insta/ 
The view account.views.permanentblock didn't return an HttpResponse object. It returned None instead. 

さて、私はこの関数から何かを返すようにしたくないが、私はちょうど再方向を望みます。 htmlページにリダイレクトする正しい方法はありませんか?

この実装を修正する方法についてのご提案をお願いします。

ありがとうございました。

+2

あなたはあなたのビューの中で 'redirect'を返さなければなりません。 – Koralarts

答えて

1

私はあなたがなぜ使用しているのかわかりません。最後に?とにかくこれを使用する

@require_http_methods(['GET','POST']) 
def permanentblock(request,Username): 
    blocker = MyUser.objects.get(username=request.user.username) 
    blocked = MyUser.objects.get(username=Username) 
    a = bl_.objects.create(blocker=blocker,blocked=blocked,myboolean=True) 
    return redirect(reverse('home',kwargs={'id':request.user.id})) 
+0

私は知っています。重要ではありませんが、ちょうど習慣です。 – ssharma

関連する問題