如何启用我的 html 页面以使用两个布尔字段值检查用户并使用“if”语句显示他们的数据?
Posted
技术标签:
【中文标题】如何启用我的 html 页面以使用两个布尔字段值检查用户并使用“if”语句显示他们的数据?【英文标题】:How can I enable my html page to check the user with two boolean field value and display their data using the "if" statement? 【发布时间】:2020-08-17 01:13:33 【问题描述】:所以我创建了一个帐户,我想显示该帐户的详细信息。因此,我使用布尔字段来规范 html 页面上每个帐户的数据,我不想使用过滤器,因为该应用程序具有我不想使其复杂化的特定功能。我创建了使用 BooleanFields 来规范数据的 Account_checker 模型。但是如果一个账号有两个BooleanField=True,如何在HTML页面上根据这两个BooleanField=True显示两个信息呢?
models.py
class Account_checker(models.Model):
is_Type_A=BooleanField(default=False)
is_Type_B=BooleanField(default=False)
is_Type_C=BooleanField(default=False)
html page
% for player in players %
% if player .is_Type_A %
display type A data
% elif player.is_Type_B %
display type B data
% elif player.is_Type_C %
display type C data
% elif player.is_Type_A and player.is_Type_B % #This code isn't working
display type A data and type B data
% elif player.is_Type_B and player.is_Type_C % #This code isn't working
display type B data and type C data
% elif player.is_Type_B and player.is_Type_C and player.is_Type_C % #This code isn't working
display type B data and type C data
% endif %
% endfor %
【问题讨论】:
您是否尝试过在条件之间添加括号?我的意思是这样% elif (player.is_Type_A and player.is_Type_B) %
?
【参考方案1】:
由于您的操作顺序,您的代码运行不正确。从逻辑上考虑,如果条件% elif player.is_Type_A and player.is_Type_B %
预计会执行,那么这意味着逻辑上% if player .is_Type_A %
也应该执行(因为is_Type_A
是True)......但是你的双布尔值被包裹在elif
中,这意味着它将仅在它之前的条件失败时运行,但事实并非如此。
要完成这项工作,您可以: 1) 重新排序您的代码,让更复杂的条件先出现,以免使它们短路。
2) 嵌套您的条件以获得级联逻辑流。
例如:
1)
% for player in players %
% if player.is_Type_A and player.is_Type_B and player.is_Type_C %
display type A, type B data and type C data
% elif player.is_Type_B and player.is_Type_C %
display type B data and type C data
% elif player.is_Type_A and player.is_Type_B %
display type A data and type B data
% elif player.is_Type_C %
display type C data
% elif player.is_Type_B %
display type B data
% elif player.is_Type_A %
display type A data
% endif %
% endfor %
【讨论】:
以上是关于如何启用我的 html 页面以使用两个布尔字段值检查用户并使用“if”语句显示他们的数据?的主要内容,如果未能解决你的问题,请参考以下文章