例如,我将图像的 url 渲染为“exmaple.html”。
self.render("example.html", image=image)
然后在template中:如果要用做背景图片怎么写?
我在CSS文件中试试:
background-image: url({{image}});
但它不起作用。
非常感谢您的帮助!
最佳答案
您将您的 CSS 作为静态文件还是模板提供?您必须将其设为模板,以便解释像 {{image}}
这样的表达式。 (但要小心——Tornado 对转义文本以包含在 CSS 中一无所知,因此如果图像可能包含任何用户提供的文本,您必须自己验证或转义它)。
不过,与其让您的 CSS 文件成为模板,不如将其保持静态并将不同的部分放在 HTML 中。如果图像是几种可能性之一,您可以为每种可能性定义一个类并在 html 中引用该类。如果要列出的可能性太多,内联样式属性可能是最好的方法(但请参阅前面关于转义的评论)
关于css - Tornado :当图像用于背景图像时如何在模板中编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20868653/