Python 以X开头的路径的路由

Python 以X开头的路径的路由,python,python-3.x,flask,path,app-route,Python,Python 3.x,Flask,Path,App Route,我是Flask和python的初学者。我想为以“/favicon”开头的路径创建一个处理函数。例如,应处理以下事项: /法维康 /法维孔福 /法维康酒吧 /法维康/巴斯 /favicon1337 不应处理以下事项: /法维科 /法维康 /随便 如果Flask支持通配符,则为“/favicon*” 编辑:我不需要对正则表达式的支持 我该怎么做呢?我会做一个捕获所有url,然后尝试在视图中使用通配符: @app.route('/<path:text>', methods=['GE

我是Flaskpython的初学者。我想为以“/favicon”开头的路径创建一个处理函数。例如,应处理以下事项:

  • /法维康
  • /法维孔福
  • /法维康酒吧
  • /法维康/巴斯
  • /favicon1337
不应处理以下事项:

  • /法维科
  • /法维康
  • /随便
如果Flask支持通配符,则为“/favicon*”

编辑:我不需要对正则表达式的支持


我该怎么做呢?

我会做一个
捕获所有
url,然后尝试在视图中使用
通配符

@app.route('/<path:text>', methods=['GET', 'POST'])
def all_routes(text):
    if text.startswith('favicon'):
        #do stuff
    else:
        return redirect(url_for('404_error'))
但是使用
string
无法捕获
/
字符串。因此,如果使用字符串,
url的
包含类似于
favicon/buzz
的内容将不会被它缓存,而另一方面,
路径
也会捕获
/
。所以你应该选择第一个选项


您可以在flask站点中查看文档。你应该
创建一个比x在Y中
更好的条件,因为如果你通过了类似
/thingfavicon

的东西,它就会失败。你想要所有的路径:
favicon
faviconFOO
favicon\u bar
等等。指向同一个句柄,然后你可以准确地看到这个是。如果它是一个通配符,它将是/favicon*我不会说它是一个重复的,因为它比另一个问题更特殊。此外,我不在乎是否使用正则表达式来解决这个问题。使用正则表达式可以完美地解决这个问题,我想这是在这种情况下减少冗余的最好方法(flask)。不过,Django framework对regexs提供了更方便的支持。如果您找到了其他方法,请告诉我答案是否符合您的要求。
@app.route('/<string:text>', methods=['GET'])