我将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扩展后不加载图像?
答案 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无法正常工作”