未找到Python flask jinja图像文件

未找到Python flask jinja图像文件,python,flask,jinja2,Python,Flask,Jinja2,新手问题 我正在使用Flask,一个Python的webframe。Flask使用Jinja渲染模板。 我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用Python版本2.7 该模板在css/image目录中包含一个图像。直接在Firefox浏览器中以文件形式查看模板时,此图像可见 但不是在执行以下操作时: from flask import Flask, render_template app = Flask(__name__) @app.r

新手问题

我正在使用Flask,一个Python的webframe。Flask使用Jinja渲染模板。 我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用Python版本2.7

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

但不是在执行以下操作时:

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()
从烧瓶导入烧瓶,渲染\u模板
app=烧瓶(名称)
@app.route(“/hello/”)
@app.route(“/hello/”)
def hello(name=None):
返回呈现模板('Basic.html',name=name)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
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>

{%if name%}
你好{{name}}!
{%else%}
你好,世界!
{%endif%}
模板运行良好,变量示例按预期运行。但图像不会显示。 调试返回: “GET/hello/css/images/icons/resultset_previous.png HTTP/1.1”404-

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

请参阅烧瓶文档的第页

从模板中引用静态文件的正确方法是:

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

对于Flask,您应该将静态文件通常保存在“static”文件夹下,然后使用url\u来执行此功能。假设您的项目名为“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">

另外,要回答您关于jinja版本等的问题,请查看此


您是否按照本教程的建议设置了路径?如果您使用的是virtualenv,您可以通过从命令行执行
pip freeze
来查看您使用的是哪个版本的jinja和flask。非常感谢。这对kobThanks来说很重要。这有帮助!不为我工作