配置根目录验证文件

最后更新时间: 2018-07-29 | 作者: AberSheeran | 捐助

手忙脚乱鸡飞狗跳的上线之后,万恶的PM又让加验证文件上去。奈何另外一人说完全不知道咋弄,我只好解决。

这个项目是用Flask+uwsgi+Nginx的,那么解决方案有两个

Nginx:

正则匹配一下后缀名,然后映射到对应目录。

1
2
3
location ~ .*\.(html|txt)$ {
    root /home/website/static/validate;
}

Flask

由于之前使用过一阵子Sanic,深受Sanic各种简单易用的方法"毒害",一开始想查Flask文档来解决,发现根本没有!然后谷歌了一番,得到了一个能成功,但是要跳转四次的方法。

最后自己思考了一波,写了一个更优雅的。

1
2
3
4
5
6
7
8
@app.before_request
def load_file():
    if request.path.split(".")[-1] in ("html", "html/", "txt", "txt/"):
        filepath = os.path.join(BASE_PATH, request.path.lstrip("./"))
        if os.path.exists(filepath):
            with open(filepath, "r") as file:
                data = file.read()
            return data
收录于#杂记