Python 如何使我的html页面能够使用两个布尔字段值检查用户,并使用“if”语句显示他们的数据?
因此,我创建了一个帐户,我想显示该帐户的详细信息。所以我使用了布尔字段来调节html页面上每个帐户的数据,我不想使用过滤器,因为应用程序具有特定的函数,我不想让它复杂化。我创建了Account_checker模型,该模型使用布尔字段来管理数据。但是,如果一个帐户有两个BooleanField=True,如何在HTML页面上显示基于这两个BooleanField=True的两个信息Python 如何使我的html页面能够使用两个布尔字段值检查用户,并使用“if”语句显示他们的数据?,python,django,django-models,django-templates,jinja2,Python,Django,Django Models,Django Templates,Jinja2,因此,我创建了一个帐户,我想显示该帐户的详细信息。所以我使用了布尔字段来调节html页面上每个帐户的数据,我不想使用过滤器,因为应用程序具有特定的函数,我不想让它复杂化。我创建了Account_checker模型,该模型使用布尔字段来管理数据。但是,如果一个帐户有两个BooleanField=True,如何在HTML页面上显示基于这两个BooleanField=True的两个信息 models.py class Account_checker(models.Model): is_Type
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和player.is_Type_B%}被期望执行,那么这意味着逻辑上{%if player.is_Type_A%}也应该执行,因为is_Type_A是真的。。。但是您的双布尔值被包装在一个elif中,这意味着只有在它之前的条件失败时它才会运行,而事实并非如此 要实现此功能,您可以: 1重新排列您的代码,让更复杂的条件放在第一位,以免使它们短路 2嵌套您的条件以具有级联逻辑流 例如: 一,
您是否尝试过在条件之间添加括号?我的意思是{%elif player.is_Type_A和player.is_Type_B%}?
{% 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 %}