请教web.py中自定义404错误页的问题。

2012-12-05 17:58:24 +08:00
 paloalto
代码如下:

http://gist.github.com/4214429

访问 http://0.0.0.0:8080/post/123test 时,因为url不匹配,会跳转到我自定义的404页面:view.error();




但是访问 http://0.0.0.0:8080/post/123 这种url,如果ID为123的post不存在,就直接在页面中显示 “404 Not Found”了,没法跳转到我自定义的404错误页面。




请问怎么才能让这两种情况都跳转到我自定义的404错误页面呢?
2777 次点击
所在节点    Python
5 条回复
Js
2012-12-05 18:08:39 +08:00
tokki
2012-12-05 18:12:01 +08:00
ls好黑
paloalto
2012-12-05 18:15:45 +08:00
@Js 谢谢你的回复。我是google了“web.py 自定义 404”之后,按照google搜索结果中的web.py的教程写的. raise 404我已经做到了,但是出现了两种404的情况,请问是何原因呢?
paloalto
2012-12-05 18:17:09 +08:00
@paloalto 哈哈,我知道原因了。
paloalto
2012-12-05 18:21:40 +08:00
需要在app.controllers.post.post_show中写上 raise web.notfound() :

def GET(self,node_id):
----if node:
--------return view.node_show()
----else:
--------raise web.notfound()

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/54174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX