我正在使用flask.send_file
向我的客户机发送图像。你知道吗
但是,当我尝试使用url_for
获取图像的url时,我发现返回的结果与图像的路径不一样。你知道吗
def get(self):
print url_for('static', filename='test.jpg')
filename = 'static/img/test.jpg'
return send_file(filename)
我得到了
/static/test.jpg
在控制台里。你知道吗
文件结构是
└── static
└── img
└── test.jpg
为什么url不是/static/img/test.jpg
?你知道吗
当我从浏览器请求时,上面的代码运行良好。相反,如果我将文件名更改为static/test.jpg
,浏览器将返回错误。你知道吗
因为你告诉它要打印“的URL”测试.jpg内部“静态”。因为你还没有包括任何对“img”的引用,所以url\u不可能包含它。你知道吗
请注意,这与从函数返回的实际URL无关。你知道吗
因为您应该给
url_for
图像的完整路径相对于静态文件夹。 所以我想在你的情况下url\u for('static',filename='img/测试.jpg')
url\u for只会将您提供给它的路径连接到静态文件夹路径,以便生成该文件的URI,但它不会神奇地映射或猜测文件的位置。你知道吗
相关问题 更多 >
编程相关推荐