【问题标题】:HttpResponseRedirect creates invalid redirect URLHttpResponseRedirect 创建无效的重定向 URL
【发布时间】:2015-08-20 20:21:54
【问题描述】:

我是 Django 新手。在我看来,我正在做以下事情:

if user_profile.key_expires < timezone.now():
        form=RegForm()
        return HttpResponseRedirect('appname/index.html',{'form':form,'expire':True})

基本上,如果帐户激活密钥已过期,请以 True 的形式重定向到主页,以便我可以显示链接已过期的消息。问题是,我在重定向时得到了这个 URL:

/confirm/<activation_key>/appname/appname/appname/....... (repeats)

这是一个非常长且重复的 URL。我在这里做错了什么。如果这个问题太基本了,在我的辩护中,我试图找到正确的重定向方式,使 URL 看起来不错而且干净,但找不到任何东西。

【问题讨论】:

    标签: python django .htaccess python-2.7 redirect


    【解决方案1】:

    在您的路径前添加一个斜杠以使用绝对 url。这里的 Django 正在尝试使用相对路径。最终在您的应用程序的同一端点中,并再次循环。

    return HttpResponseRedirect('/appname/index.html',{'form':form,'expire':True})
    

    【讨论】:

    • 有一个问题,重定向似乎没有将{'form':form,'expire':True} 传递到页面。有什么原因吗?
    • @Maxsteel 您使用的是静态 html 文件,这就是原因
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 2011-04-10
    • 2021-12-17
    • 2021-02-10
    • 2017-05-08
    • 2016-10-10
    • 2020-01-23
    相关资源
    最近更新 更多