我是 Flask 和 python 的初学者。我想为以" / favicon"开头的路径创建处理函数。例如,应该处理以下内容:
不应处理以下事项:
如果Flask支持通配符,它将是" / favicon *"
编辑:我不需要支持正则表达式。我该怎么做?
答案 0 :(得分:3)
我会做一个catch-all
网址,然后尝试在视图中使用wildcard
:
@app.route('/<path:text>', methods=['GET', 'POST'])
def all_routes(text):
if 'favicon' in text
#do stuff
else:
return redirect(url_for('404_error'))
您也可以使用string
:
@app.route('/<string:text>', methods=['GEt'])
但使用string
无法捕获/
个字符串。因此,如果使用字符串,url's
包含favicon/buzz
之类的内容将不被其缓存,另一方面path
也会捕获/
。所以你应该选择第一个选项。
您可以查看烧瓶网站中的routing文档。并且您should
创建了一个比if x in Y
更好的条件,因为如果您传递了类似/thingfavicon