Django handler404正在改变我的网址

时间:2014-02-01 19:30:29

标签: python django django-urls

我已经定义了自己的404处理程序,但似乎在我使用它时,我的网址正在改变。 我在我的root urls.py中定义了404处理程序,这是代码的一部分

def page_not_found(request):
    if request.session.has_key('loggedin'):
        return HttpResponseNotFound(login_404)
    path = request.path
    if path.startswith('/path'):
        return HttpResponseNotFound(non_loign_404)

handler404 = page_not_found

其中login_404和non_login_404是字符串。我呈现并保留它们以便更快地访问。

根据我的应用程序中的上下文,我有不同的404页面。

来解决我的实际问题:

假设我有网址 / a / b 启用自定义404处理程序后,网址将变为 / a / a / b 如果我有 / path / x ,则会变为 / path / path / x

有什么不对的,请建议我。提前谢谢。

修改

直到我第一次遇到404每个网址才能得到正确解决,但从第404页开始,每个网址都会被解析为404.

0 个答案:

没有答案