如何在djang中的if语句中使用视图中的变量

2024-10-01 09:31:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在django中更改一个布尔值,当我单击一个输入图像时,我想我已经更改了,但是现在当我尝试在html中比较这个布尔值时,它没有带来正确的值,它总是带来False(sn6.jpg)

View.py

def reservacion(request):
if request.method == "POST":
    estatus = Asientos.objects.get(asiento=1)
    if estatus.status == True:
        estatus.status = False
        estatus.save()
    else:
        estatus.status = True
        estatus.save()
return render(request,"reservacion.html")

Models.py

class Reserva(models.Model):
mesa = models.CharField(max_length=2,primary_key=True)
asiento = models.ForeignKey(Asientos)
def __str__(self):
    return self.mesa

html——在这里,我的if语句改变了我数据库中布尔值的值,但它总是以False显示图像(sn6.jpg)

<form enctype="multipart/form-data"  method="post">
{% csrf_token %}
<div class="row">
{% if estatus.status == True%}
<div class="col"><input class="d-block w-100" type="image" src="{%static "/img/s6.jpg" %}" name="1" value=""></div>
{% else %}
<div class="col"><input class="d-block w-100" type="image" src="{%static "/img/sn6.jpg" %}" name="1" value=""></div>
{% endif %}
</form>

我是否遗漏了什么?单击并提交值时,如何获取其他oimage


Tags: py图像divformfalsetrueifmodels
1条回答
网友
1楼 · 发布于 2024-10-01 09:31:10

两点:

  • 您需要将上下文词典添加到渲染中,以便将变量传递到模板:render(request,"reservacion.html", {‘estatus’: estatus})
  • 无需将布尔值与True进行比较,这就足够了:if estatus.status

相关问题 更多 >