Jinja Extendeds不加载图像

时间:2018-09-21 20:57:53

标签: flask jinja2

我将Flask用于小型Web应用程序,并且在使用Jinja扩展后无法显示背景图像。

我的layout.html包含一个标题:     

    <!-- Header section -->
    <header class="header-section">
        <div class="header-warp">
            <div class="container">
                <a href="#" class="site-logo">
                    <img src="{{ url_for('static', filename='img/logo.png') }}" alt="">
                </a>
                <div class="user-panel">

          {%if session.user_id %}
              <a href="#">Logout</a>
          {% endif %}

                </div>
                <div class="nav-switch">
                    <i class="fa fa-bars"></i>
                </div>
            </div>
        </div>
    </header>
    <!-- Header section end -->
<main>
  {% block main %}
  {% endblock %}
</main> 

在另一个html文件中,我想扩展布局:

{% extends "layout.html" %}

{% block title %}
  Register
{% endblock %}

{%block main%}
    <section class="hero-section set-bg" data-setbg="{{ url_for('static', filename='img/review-bg.jpg') }}">

但是,没有加载review-bg.jpg,而是收到了一个空白部分。但是,当我直接复制布局(不再使用扩展)时,图像正确加载。我用(http://127.0.0.1:5000/static/img/review-bg.jpg)仔细检查了一下,该路径正确返回了图像。

任何人都可以帮助我解释为什么Jinja扩展后不加载图像?

2 个答案:

答案 0 :(得分:0)

将扩展名编辑为:

{% extends "layout.html" %}

{% block title %}
  Register
{% endblock %}

{%block main%}
     <img src="{{ url_for('static', filename='img/review-bg.jpg') }}" alt="">

您现在看到图片了吗?如果是这样(我怀疑),这与jinja / flask没有关系,但是其他事情正在发生。如果不是,请在firefox中右键单击页面,然后按查看源。链接指向哪里?

答案 1 :(得分:0)

问题似乎出在from django.views.decorators.http import require_http_methods @require_http_methods(["GET", "POST"]) def my_view(request): # I can assume now that only GET or POST requests make it this far # ... pass中-可能是React脚本,请看这里:

html tag attribute "data-setbg" is not working in React project

或者尝试通过Google搜索“ data-setbg无法正常工作”