2024-05-14 00:49:14 发布
网友
是否可以为本地dev Flask实例添加更多静态路径? 我想有一个默认的static文件夹来存储站点的js/css/images文件,还有一个文件夹,例如designs来保存我的特定资产。如果存在更好的解决方案,我不想将designs文件夹放在static中。
static
designs
我一直在使用以下方法:
# Custom static data @app.route('/cdn/<path:filename>') def custom_static(filename): return send_from_directory(app.config['CUSTOM_STATIC_PATH'], filename)
在我的配置中定义了CUSTOM_STATIC_PATH变量。
CUSTOM_STATIC_PATH
在模板中:
{{ url_for('custom_static', filename='foo') }}
警告清空器-我不确定它是否安全;)
我想为那些想知道app.config['CUSTOM_STATIC_PATH']被设置为什么的人扩展上面接受的答案。
app.config['CUSTOM_STATIC_PATH']
在我的例子中,我需要一个/.well-known目录,下面是我使用的目录:
/.well-known
我在我的应用程序根目录中放置了一个名为well-known的新目录 我设置了一个配置变量如下:
well-known
CUSTOM_STATIC_PATH=app.root_path + '/well-known/'
然后我使用了这个var:
@app.route('/.well-known/<path:filename>') def wellKnownRoute(filename): return send_from_directory(app.config['CUSTOM_STATIC_PATH'], filename, conditional=True)
设置conditional=True是智能的,这将404文件不存在的任何请求。
conditional=True
当然,如果你想知道为什么需要为dir路径设置一个配置值,你就不需要了。你可以一直使用配置值,给你这个:
@app.route('/.well-known/<path:filename>') def wellKnownRoute(filename): return send_from_directory(app.root_path + '/well-known/', filename, conditional=True)
我的/.well-knownURL路径文件总是来自应用程序根目录/well-known目录,因此没有必要使它更复杂。
/well-known
需要注意的是,您最好通过nginx或您正在使用的任何服务器来处理这个特定的案例,设置一个额外的服务器块并从应用程序外部提供文件,我只需要将这个设置用于dev env进行测试。
你可以使用一个蓝图和它自己的静态目录 http://flask.pocoo.org/docs/blueprints/
蓝图
blueprint = Blueprint('site', __name__, static_url_path='/static/site', static_folder='path/to/files') app.register_blueprint(blueprint)
模板
{{ url_for('site.static', filename='filename') }}
我一直在使用以下方法:
在我的配置中定义了
CUSTOM_STATIC_PATH
变量。在模板中:
警告清空器-我不确定它是否安全;)
我想为那些想知道
app.config['CUSTOM_STATIC_PATH']
被设置为什么的人扩展上面接受的答案。在我的例子中,我需要一个
/.well-known
目录,下面是我使用的目录:我在我的应用程序根目录中放置了一个名为
well-known
的新目录 我设置了一个配置变量如下:然后我使用了这个var:
设置
conditional=True
是智能的,这将404文件不存在的任何请求。当然,如果你想知道为什么需要为dir路径设置一个配置值,你就不需要了。你可以一直使用配置值,给你这个:
我的
/.well-known
URL路径文件总是来自应用程序根目录/well-known
目录,因此没有必要使它更复杂。需要注意的是,您最好通过nginx或您正在使用的任何服务器来处理这个特定的案例,设置一个额外的服务器块并从应用程序外部提供文件,我只需要将这个设置用于dev env进行测试。
你可以使用一个蓝图和它自己的静态目录 http://flask.pocoo.org/docs/blueprints/
蓝图
模板
相关问题 更多 >
编程相关推荐