jinja2设置背景图像

2024-10-01 13:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用jinja2设置背景图像。我已经设法从我的开发服务器服务我的文件,并可以张贴在文件中的图像,但我希望它形成一个良好的背景与其他一切在上面。在

作为一个例子,我试过:

{% extends "layout.html" %}

{% block body %}
  {% if current_user.is_authenticated %}
    {% if commPageData.background_image %}    
        <body background="{{'/images/'+commPageData.background_image}}">
    {% else %}
        <body>
    {% endif %}
            A thing
         </body>

我有一个css文件和一个布局文件,它提供了模板的默认行为。我怎样才能有一个好的背景图像,我正在服务?在


Tags: 文件图像image服务器jinja2ifhtmlbody
1条回答
网友
1楼 · 发布于 2024-10-01 13:25:05

您似乎试图告诉前端使用应用程序路由,而不传递正确的命令。我猜你用的是烧瓶。真的,有两种方法(我能想到)来切面包,这取决于你。第一种方法只是使用标准的html,而不是嵌入python来路由应用程序来查找文件,看起来像:

<body background="/path/to/image.jpg">

但是,如果您想利用框架和模板,那么应该使用

看起来像这样:

^{pr2}$

“static”是此映像所在的应用程序中的目录。在

现在,我不知道在哪里commPageData.background_图像来自你的应用程序。我的代码片段假设它被作为一个值来使用,如果它被传递回逻辑(如果这有意义的话),并且它需要在告诉url_for方法查找它的位置,即使是在动态生成的情况下。如果实际有一个特定的图像要渲染为背景,则需要适当指定它:

<body background="{{ url_for('static', filename='image.jpg') }}">

当然,在HTML5中已经被弃用,并且在许多浏览器中可能无法正确呈现。它更倾向于使用CSS来代替

<body style="background:url({{'images/'+commPageData.background_image}});"> 

或者直接放在CSS文件中

相关问题 更多 >