如何使用Python和Flask使用localhost从静态文件夹发送img路径?

时间:2016-07-16 16:52:24

标签: python flask

我是Python和Flask的新手。我正面临着尝试发布图像的问题:

我将图像存储在static文件夹中,我需要将图像路径作为json响应发送,以便用户可以看到图像。我尝试了os.path.abspath(),它给了我完整的路径,但仍然无法使用浏览器中localhost的路径访问该图像。该解决方案还应该可以与移动应用程序一起使用。

1 个答案:

答案 0 :(得分:1)

如果您只想自己查看,可能需要将url_for与您的主机名或localhost结合使用。

例如:

"localhost"+url_for('static', filename='image.png')

来自The Flask quickstart quide

  

要构建特定功能的URL,您可以使用url_for()函数。它接受函数的名称作为第一个参数和许多关键字参数,每个参数对应于URL规则的变量部分。

关于static files

  

静态文件

     

动态Web应用程序还需要静态文件。这通常是CSS和JavaScript文件的来源。理想情况下,您的Web服务器已配置为为您提供服务,但在开发期间,Flask也可以这样做。只需在包中或模块旁边创建一个名为static的文件夹,它就可以在应用程序的/ static中找到。

     

要为静态文件生成网址,请使用特殊的'静态文件'端点名称:

     

url_for(' static',filename =' style.css')   该文件必须作为static / style.css存储在文件系统上。

如果您的静态IP和端口对外部网络开放,请不要忘记使用0.0.0.0作为主机名,如果您尝试让其他人也可以看到您的网页。您可能还想使用单独的Web服务器,如Flask文档中所述。