falsk中默认使用
www.xxx.com/static/xxx 来访问静态资源,我把robots.txt和sitemap等类似的文件也放在static目录中。为了图方便,使用了 static_url_path 参数, 值为一个空字符串,这样就可以以
www.xxx.com/robots.txt 的格式来访问静态资源了。结果发现 flask-login 组件就无法正常使用了。
去看了一下flask-login的源码,发现 _load_user 函数中一段代码是判断当前的请求是不是属于静态资源,如果是就直接把当用户重置成匿名用户,不进行用户加载的处理。
空欢喜了一场,各位是怎么安排robots.txt这类需要从根目录访问的静态文件?