我正在尝试创建一个视图来更改布尔值并从中切换图像,我已经完成了,但是我需要在12个值之间迭代(asiento),我只能指向其中一个值这是我的Django代码。你知道吗
你知道吗型号.py地址:
class Asientos(models.Model):
asiento = models.CharField(max_length=2,primary_key=True)
status = models.BooleanField()
mesa = models.ForeignKey(Reserva)
def __str__(self):
template = 'Asiento {0.asiento} de la mesa {0.mesa}'
return template.format(self)
你知道吗视图.py地址:
def reservacion(request):
asientos = Asientos.objects.all()
if request.method == "POST":
estatus = Asientos.objects.get(asiento=asientos)
if estatus.status == True:
estatus.status = False
else:
estatus.status = True
estatus.save()
return render(request,"first_app/reservacion.html", {'asientos': asientos})
HTML格式:
<form enctype="multipart/form-data" action="{% url 'first_app:reservacion' %}" method="post">
{% csrf_token %}
<div class="row">
{% for asiento in asientos %}
{% if asiento.status %}
<div class="col" ><input class="d-block w-100" value="" name="reservacion" type="image" src="{%static "/img/s6.jpg" %}" >{{asiento.asiento}}</div>
{% else %}
<div class="col" ><input class="d-block w-100" value="" name="reservacion" type="image" src="{%static "/img/sn6.jpg" %}" >{{asiento.asiento}}</div>
{% endif %}
{% if asiento.asiento == '6' %}
</div>
<div class="row">
<div class="col"> </div>
<div class="col"> <img src="{%static "/img/m1.jpg" %}" alt=""> </div>
<div class="col"> </div>
</div>
<div class="row">
{% endif %}
{% endfor %}
</div>
<input type="submit" name="" value="Reservar">
</form>
此代码仅更改第一个的值Asientos.objects.get获取(asiento=asientos)即使单击另一个对象,它也只会更改数据库中第一个对象的值。你知道吗
如何更改单击的对象的值?你知道吗
实现这一点有多种方法。这可能是最基本的:
将
reservacion()
更改为:将url更改为以下内容:
将html更改为:
如果您想使用POST方法,那么一种相当基本的方法是使用Javascript/jQuery。你知道吗
将Reservation()更改为:
你的网址可能是对的。应该是这样的:
将html更改为:
我想这是个好的开始。这段代码可以通过多种方式进行改进,但这不是问题所在。你知道吗
相关问题 更多 >
编程相关推荐