gpt4 book ai didi

Django,重定向用户无法识别的网址(不仅仅是 404 模板)

转载 作者:行者123 更新时间:2023-12-02 04:47:15 26 4
gpt4 key购买 nike

我以为我已经弄清楚了,但只是发现了一些奇怪的事情。

在我的网址中

url('^page_1/$', handle_page_1),
url('^page_2/$', handle_page_2),
url('^.*/$', handle_page_not_found),

handle_page_not_found() 如果 URL 无法识别,则适本地重定向用户。

效果很好,但我发现了一些奇怪的东西。

如果函数返回

return HttpResponse("ok")

然后返回“ok”,一切似乎都工作正常。但是,我刚刚看到 handle_page_not_found() 也被调用(我用 print 语句进行了测试)。返回的结果仍然是“ok”,但它首先执行 handle_page_not_found() 中的代码。

那么,如何才能拥有一个为无法识别的网址调用的函数,但该函数不是由 HttpResponse 对象调用的呢?

编辑:根据答案,看到我的代码实际上很好,除了特殊的测试情况。只要 HttpResponse 返回到 ajax 调用(这是我通常使用它的时候),一切都很好。

最佳答案

避免这个问题,它对我有用。

url.py:

 urlpatterns = patterns('',
url('^page_1/$', handle_page_1),
url('^page_2/$', handle_page_2),
)
handler404='views.handle_page_not_found_404'

views.py:

def handle_page_not_found_404(request):

page_title='Page Not Found'
return render_to_response('404.html',locals(),context_instance=RequestContext(request))

更多详情请参阅:Django documentation: customizing-error-views

关于Django,重定向用户无法识别的网址(不仅仅是 404 模板),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18072912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com