【问题标题】:Flask Jinja2 template is not rendering style tag?Flask Jinja2 模板不渲染样式标签?
【发布时间】:2015-05-21 17:28:16
【问题描述】:

我正在使用烧瓶制作(学习)一个简单的网络应用程序。我没有使用模板进行 CSS 输入。我正在使用 jinja2 模板中的“样式”标签直接对 css 进行编码。但是样式标签不起作用。即使在 chrome 中使用检查元素,我也可以看到正在呈现的样式标签?

待渲染的index.html代码

{% extends "base.html" %}

{% block style %}
body{
line-height:1.5;
background-color:gray;
font-size:10px;
}   

{% endblock %}

base.html

<html>
<head>

{% if title %}
<title>{{ title }}</title>
{% else %}
<title>Welcome to Micro-blogger Index page!</title>
{% endif %}

<style>
{% block style %}{% endblock %}
</style>
</head>

<body>
<h1><a href='/'>Index</a>
<br/>
{% block content %}{% endblock %}
</body>
</html>

编辑:不工作我的意思是背景颜色仍然是白色,字体大小和行高没有编码。

编辑:当我将 css 元素放入 base.html 时,渲染工作。但是当我通过 index.html 文件中的变量传递它时,prev.提到的事情发生了。是的,我可以链接样式表或从 base.html 模板传递 css 元素,但是当我有两个 html 文档都继承自相同的 base.html 但需要有不同的 css 属性(如不同的背景颜色等)

【问题讨论】:

  • 我在一个简单的 1-view 测试应用程序上使用了您的模板,页面显示为灰色。仔细检查拼写错误。
  • 您无法在浏览器中预览 index.html 并期望服务器端包含被处理

标签: python flask jinja2


【解决方案1】:

使用忍者模板自定义标签添加样式需要什么。 相反,您可以直接使用样式标签。 这是代码。

<style>
body{
line-height:1.5;
background-color:gray;
font-size:10px;
}  
</style>

你可以直接把它放在你想要的任何地方。

【讨论】: