Python Flask:在开发中,如何实现媒体资产的动态路由?
我正在使用Flask开发一个简单的web应用程序 我在Python Flask:在开发中,如何实现媒体资产的动态路由?,python,flask,Python,Flask,我正在使用Flask开发一个简单的web应用程序 我在文件/文件夹/子文件夹/asset[.pdf |.jpg]中有静态媒体资产(照片、pdf等)。但我希望文件的URL如下所示:files/folder\u subfolder\u asset[.pdf | jpg]。如您所见,实际的路径在文件名中编码 文件夹和子文件夹对于每个图像都是不同的。有很多图片 在生产上,在服务器上,我将处理文件的服务,如何在开发上完成类似的工作 注意:在开发中我正在使用Flask run测试应用程序。如果我需要使用不同
文件/文件夹/子文件夹/asset[.pdf |.jpg]
中有静态媒体资产(照片、pdf等)。但我希望文件的URL如下所示:files/folder\u subfolder\u asset[.pdf | jpg]
。如您所见,实际的路径
在文件名
中编码
文件夹
和子文件夹
对于每个图像都是不同的。有很多图片
在生产上,在服务器上,我将处理文件的服务,如何在开发上完成类似的工作
注意:在开发中我正在使用Flask run
测试应用程序。如果我需要使用不同的东西,请给出建议 您可以尝试使用(应用程序对象或蓝图对象,):
–可用于为web上的静态文件指定不同的路径。默认为static\u url\u path
文件夹的名称静态文件夹
–包含静态文件的文件夹,应在static\u文件夹
中提供。默认为应用程序根路径中的“静态”文件夹static\u url\u路径
静态文件夹设置为静态文件目录:/files/folder/subfolder/asset
,将静态url\u路径设置为/files/folder\u asset
:
from flask import Flask, request, redirect, url_for
app = Flask(__name__,static_folder='files/folder/subfolder/asset/', static_url_path='/files/folder_subfolder_asset')
@app.route('/', methods=['GET'])
def root():
return redirect(url_for('static', filename='figure.jpeg'))
if __name__ == '__main__':
app.run(debug=True)
然后当您转到http://127.0.0.1:5000
,它将重定向到http://127.0.0.1:5000/files/folder_subfolder_asset/figure.jpeg
,url
已更改为static\u url\u path
中定义的url。请尝试使用@Tiny。D我阅读了蓝图文档,但不知道如何使用它们来提供图像。想提供一个例子吗?:)从文件夹/子文件夹/资产[.pdf | jpg]
中拆分文件夹/子文件夹/资产[.pdf | jpg]
和发送静态文件
。但我不熟悉nginx,也不知道如何在nginx.Man中实现这一点。很抱歉,我忘了提到每个图像的文件夹和子文件夹总是不同的。这就是我问这个问题的原因。我会尽快编辑它。