zac*_*ach 17 html python flask
我创建了一个小型Flask应用程序,用于在本地计算机上处理和显示本地消费数据.我的Flask应用程序处理子文件夹中的数据,然后打开一个网页以显示已处理的数据.除了不提供图像外,一切看起来都很棒.例如,生成的HTMl源将具有以下内容:
<img src="/Users/username/Desktop/datafolder/pics/pic1.png" alt="pic1">
Run Code Online (Sandbox Code Playgroud)
但是没有图像.路径是正确的,所以我猜测它与图像传递或未传递给Flask的方式有关render_template.也许有一种方法来指定我在django帖子中看到的媒体目录?
关于我如何能够包含图像的任何建议都将非常受欢迎.
最好的问候,zach cp
编辑:如答案和注释中所述,所有静态文件必须位于指定的静态目录中.我使用"file://"构造触发浏览器给出错误消息:
"Not allowed to load local resource: file:///Users/username/Desktop/datafolder/pics/pic1.png"
这就是我无法看到图像的原因.我可以使用下面的任何解决方案,导致我想要在指定的静态文件夹中提供的图像.
Mar*_*eth 18
Flask应用程序将尝试提供静态文件的文件默认为应用程序根目录中的"静态"路径.因此,如果您在...中运行您的程序
C:\Users\username\Desktop\MyApp
静态文件夹将是
C:\Users\username\Desktop\MyApp\Static
因此,在尝试服务时
/Users/username/Desktop/datafolder/pics/pic1.png
Flask将尝试提供的文件实际上将是......
C:\Users\username\Desktop\MyApp\Static\Users\username\Desktop\datafolder\pics\pic1.png
这可能是不对的.
因此,你可以做一些事情:
将正在处理的文件更改为运行Flask应用程序的"静态"文件夹,并生成相对于该目录的HTML src值
static_folder在Flask构造函数上设置参数.这允许您专门设置静态文件的提供位置.
app = Flask(static_folder='C:\\Some\\Directory')
Run Code Online (Sandbox Code Playgroud)正如一些评论所建议的那样,改为使用file:// type.如果它不起作用,那么发布你正在尝试的东西,因为它应该工作:)
小智 12
好吧,你最好看看这个:http://flask.pocoo.org/docs/quickstart/#static-files 你需要做什么:
cd path/to/your/flask/app
mkdir static
mv /Users/username/Desktop/datafolder/pics/pic1.png /static
Run Code Online (Sandbox Code Playgroud)
<img src="/static/pic1.png" alt="pic1">在模板中使用.
| 归档时间: |
|
| 查看次数: |
35836 次 |
| 最近记录: |