我是Flask和python的初学者。我想为以“/favicon”开头的路径创建一个处理函数。例如,应处理以下内容:
- /网站图标
- /faviconFOO
- /favicon_bar
- /favicon/嗡嗡声
- /favicon1337
不应处理以下情况:
- /favico
- /favicon
- /任何
如果 Flask 支持通配符,它将是“/favicon*”
编辑:我不需要支持正则表达式。
我怎样才能做到这一点?
我是Flask和python的初学者。我想为以“/favicon”开头的路径创建一个处理函数。例如,应处理以下内容:
不应处理以下情况:
如果 Flask 支持通配符,它将是“/favicon*”
编辑:我不需要支持正则表达式。
我怎样才能做到这一点?
我会做一个catch-allurl,然后尝试wildcard从视图内部使用它:
@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:
@app.route('/<string:text>', methods=['GET'])
但使用string不会捕获/字符串。所以如果使用 string ,url's包含类似的东西favicon/buzz不会被它缓存,path另一方面也会 catch /。所以你应该选择第一个选项。
您可以查看烧瓶站点中的路由文档。你should创造了一个更好的条件而不是if x in Y因为如果你通过了类似的东西它会失败/thingfavicon