首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Tipfy的所有捕获路由

使用Tipfy的所有捕获路由
EN

Stack Overflow用户
提问于 2010-10-19 05:00:48
回答 2查看 558关注 0票数 2

使用tipfy,如果更多特定的路由不匹配,如何在urls.py中表示所有捕获路由?

Tipfy使用类似Werkzeug的路由,因此这里(在urls.py中):

代码语言:javascript
复制
def get_rules(app): 
rules = [ 
    Rule('/<any>', endpoint='any', handler='apps.main.handlers.MainHandler'), 
    Rule('/', endpoint='main', handler='apps.main.handlers.MainHandler'), 
] 

这将匹配应用程序中的大多数随机入口点(app.example.com/foo、app.example.com/%20等),但不涵盖app.example.com/foo/bar的情况,从而导致404。

或者,是否有一种优雅的方法来处理Tipfy中我丢失的404?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-20 16:41:39

我想你想:

Rule('/<path:any>', endpoint='any', handler='apps.main.handlers.MainHandler')

路径匹配器还匹配斜杠。

票数 4
EN

Stack Overflow用户

发布于 2010-10-20 20:55:39

也许你可以写一些定制的中间件:

代码语言:javascript
复制
class CustomErrorPageMiddleware(object):    
def handle_exception(self, e):           
    return Response("custom error page")

要使它能够添加到tipfy配置中的某个位置:

代码语言:javascript
复制
   config['tipfy'] = {
       'middleware': [
           'apps.utils.CustomErrorPageMiddleware',
       ]
   }

它提供了相当大的灵活性--例如,您可以在某个地方发送邮件,以告知存在问题。这将拦截应用程序中的所有异常。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3965460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档