首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tornado:当使用图片作为背景图片时,如何在模板中写入?

Tornado:当使用图片作为背景图片时,如何在模板中写入?
EN

Stack Overflow用户
提问于 2014-01-01 20:29:44
回答 2查看 779关注 0票数 0

例如,我将图像的url呈现为"exmaple.html“。

代码语言:javascript
复制
self.render("example.html", image=image)

然后在模板中:如果我想将其用于背景图像,该如何编写?

我在CSS文件中尝试了一下:

代码语言:javascript
复制
background-image: url({{image}});

但它不起作用。

非常感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2014-01-02 03:51:17

您是将css作为静态文件还是模板提供服务?您必须将其作为模板才能解释{{image}}之类的表达式。(但要小心- Tornado不知道如何转义要包含在CSS中的文本,所以如果图像可能包含用户提供的任何文本,您必须自己验证或转义它)。

不过,与其让CSS文件成为模板,不如让它保持静态,并将不同的部分放在HTML中。如果图像是几种可能性之一,您只需为每个图像定义一个类并在html中引用该类即可。如果有太多的可能性要列出,内联样式属性可能是最好的方法(但请参阅前面关于转义的注释)

票数 0
EN

Stack Overflow用户

发布于 2014-01-10 02:04:02

在基本模板中添加CSS块。然后您可以使用它来指定CSS规则。

base_template.html:

代码语言:javascript
复制
<html>
<head>
    <title>Some Title</title>
    {% block css %}{% end %}
</head>
<body>
        {% block body %}{% end %}
</body>
</html>

在将呈现的文件中:

代码语言:javascript
复制
{% extends "base_template.html" %}
{% block css %}
<style type="text/css">
    background-image: url( {{ image }} );
</style>
{% end %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20868653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档