我正在尝试应用一些应用程序,我需要根据“严重性”,红色,黄色或绿色的“报告”来改变某些图像的背景颜色 .
视图(index.html):
欢迎{{= auth.user.first_name}} {{用于报告中的报告:}} type =“text / css”> .eq_img {background-color:{{= bg_color(reports.severity)}(在样式标签中) )table with images class = eq_img
控制器(default.py):
def equipment():reported = db() . select(db.repo.ALL)return locals()
模型(db.py):
db.define_table('repo',Field('body','text',requires = IS_LENGTH(500,1),label =“report”),Field('severity',requires = IS_IN_SET(['Green', 'yellow','Red'])),Field('posted_on','datetime',readable = False,writable = False),Field('posted_by','reference auth_user',writable = False),def bg_color(severity ):if severity ==“Red”:返回'red'elif severity ==“Yellow”:返回'黄色'否则:返回'green'
现在它总是返回列表中最后一个报告的颜色 . 我需要它来找到最严重的报告,如果不是红色,那么是黄色,然后是绿色 . 任何帮助非常感谢 .
1 回答
您还没有完全清楚自己要做什么,但是如果要将.eq_img类的背景颜色设置为查询返回的所有记录中存在的最高严重性值,则可以执行以下操作:
在模型中:
在控制器中:
在上面,
max_severity
是一个整数(0,1或2),对应于记录中找到的最大严重性级别 .在视图中:
注意,上面的内容不应该在for循环中,就像在原始代码中一样 .