如何正确地重定向Django?

时间:2017-06-28 16:10:22

标签: html python-3.4 django-1.9

我的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.

现在,直到函数的倒数第二行,它正常工作,表格更新。但是,显示错误:

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

现在,我不想从此功能返回任何内容,我只想重新指示。这不是重定向到 html 页面的正确方法吗?

请提供有关如何更正此实施的建议。

感谢。

1 个答案:

答案 0 :(得分: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}))