当前位置: 首页 > 面试题库 >

找不到Python flask jinja图像文件

唐伟
2023-03-14
问题内容

我正在使用Flask,一个适用于Python的网络框架。Flask使用Jinja渲染模板。我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用python版本2.7。

该模板在css / image目录中包含一个图像。直接在Firefox浏览器中以文件形式查看模板时,此图像可见。

但是在执行Flask时不是:

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('Basic.html', name=name)

if __name__ == '__main__':
   app.debug = True
   app.run()

HTML文件的内容:

 <!DOCTYPE HTML>
 <html>
    <body> 

      <!-- variable example begin -->
      {% if name %}
        <h1>Hello {{ name }}!</h1>
      {% else %}
        <h1>Hello World!</h1>
      {% endif %}

      <!-- variable example end -->

     <img src="css/images/icons/resultset_previous.png" width="16" height="16" alt="previous" title="Previous" border="0">

   </body>
 </html>

模板运行正常,变量示例按预期运行。但是不显示图像。调试返回:“ GET /hello/css/images/icons/resultset_previous.png HTTP / 1.1” 404-

我按照文档中的建议在VirtualEnv中运行Flask。图像的路径似乎未知。如何设置路径?


问题答案:

对于Flask,通常应将静态文件保留在“ static”文件夹下,然后使用url_for函数。假设你的项目名为“ myproject”,并以你的示例为例,它应类似于:

myproject/
    app.py
    templates/
    static/
        css/
            images/
                icons/
                    resultset_previous.png

然后,你可以在模板中调用

<img src= {{ url_for('static', filename = 'css/images/icons/resultset_previous.png') }} width="16" height="16" alt="previous" title="Previous" border="0">


 类似资料:
  • 刚刚开始一个新项目,已经遇到了一些问题。我试图用javafx显示图像,但编译器抱怨提供的位置无效。这是我到目前为止的所有代码(除了一些导入): 如果我将文件路径更改为我在谷歌图像搜索中找到的图像url,它会显示添加在其下方的黑色矩形(只是为了测试一切是否正常),但不会显示图像。但是,在当前配置中,它只是抛出一个错误,表示URL无效或找不到资源。我认为这应该有效的原因是以下示例:https://do

  • 问题内容: 您是否知道在 找不到 图像文件时如何从呈现的HTML页面中隐藏经典的 “未找到图像” 图标? 有使用JavaScript / jQuery / CSS的工作方法吗? 问题答案: 您可以使用JavaScript中的事件来在图像加载失败时采取行动: 在jQuery中(自您询问之后): 或对于所有图像: 如果隐藏图像可能会更改布局,则应使用代替。网络上的许多站点都使用默认的“无图像”图像,当

  • 而且,有时它能找到,有时它找不到。

  • 这是我的小部件,在应用程序中显示自己的一张小照片。 然而,出于某种原因,我一直在得到这个 尽管图像在文件夹中。请帮忙

  • 我正在使用安装在本地主机上的wordpress构建一个站点。 出于某种原因,我的post.php页面没有显示帖子缩略图(特色图片)。我已经确定,这是一个问题,timthumb.php这是不正确的定位图像网址。我在网上搜索了几个小时,尝试了许多解决方案,但似乎没有任何效果。 基本问题是我在blog.php文件中的这一行: My functions.php脚本将get_image_url定义如下: 在

  • 所以我用tkinter GUI构建了这个python应用程序。我使用pyinstaller来转换。将py文件转换为可执行(.exe)文件,以便我可以将其发送给非技术人员使用。 当我运行这两行注释掉的代码时... 除了主窗口是空白的白色画布外,应用程序在执行时(在Windows中以.exe格式)运行良好。 问题是我需要这个应用程序来利用matrix.png,这样用户界面看起来就很酷,不会无聊。 所以