我真的很难让site.css文件接受app.py使用Jinja 2模板(即{{ variable }})从www.example.com传入的两个变量。在app.py中,我定义了两个变量,分别为:empty_fill_line和fill_line,它们根据超声波传感器记录的水位测量值动态更新。
它应该做的是,我在home.html中创建了一个覆盖在坦克图像上的表,该表有两行(.empty-line和.fill-line)。因为变量是用测量值调整的,所以应该传递到定义了.empty-line和. fill-line的site.css中。但是,css似乎不接受这种格式。我试过在home.html中添加一个script标记来包含这两个定义,但它不喜欢。
摘自app.py:
@app.route("/")
def home() -> str:
distance = get_water_level()
distance_percentage = distance / 0.126 # 0.126 = 12.6 cm internal height of tank
fill_line = round(distance_percentage * 2.25) # convert distance to pixels in tank graphic
empty_fill_line = 225 - fill_line # empty line inverse of fill line
temp = get_water_temp()
return render_template("home.html", distance=distance, temp=temp, fill_line=fill_line, empty_fill_line=empty_fill_line)
摘自首页.html:(注意:我特意将这两个变量都添加到div类中进行测试)
<table>
<tr>
<td id="tank">
<table id="tanktable" name="table" height=20px style="border-spacing: 50px;">
<tr>
<td>
<div class="empty-line">{{ empty_fill_line }}</div>
<div class="fill-line">{{ fill_line }}</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
摘录自站点.css:
/* Water tank */
#tanktable {
margin-top:29px;
margin-left:2px;
/* border: 1px solid rgb(245, 6, 6); */
/* height: 225px; */
border-collapse: collapse;
}
.empty-line {
border-left: 180px solid rgb(255, 255, 255);
height:{{ empty_fill_line }}px;
}
.fill-line {
border-left: 180px solid #28a1f7;
height:{{ fill_line }}px;
}
当我运行Flask应用程序时,显示如下:Flask App
我完全被这东西卡住了。
如果我尝试在home.html中使用内联css,如下所示:
<table>
<tr>
<td id="tank">
<table id="tanktable" name="table" height=20px style="border-spacing: 50px;">
<tr>
<td>
<div class="empty-line" style="border-left: 180px solid rgb(255, 255, 255); height:{{ empty_fill_line }}px;"></div>
<div class="fill-line" style="border-left: 180px solid #28a1f7; height:{{ fill_line }}px;"></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
这就是发生的事情:Flask app with inline css
1条答案
按热度按时间yzckvree1#
样本代码
home.html
这里我们使用内联css,这将为您的解决方案工作。
你也可以在head标签上定义内部css样式代码。