我想在Django中插入一个下拉列表,它会将我返回到页面,然后我会插入一个导致该页面的按钮,但是当我这样做时,我会返回到我当前所在的页面。
index.html
{% if lista_de_provas %}
<form method='post' action=''>
{% csrf_token %}
<select class="form-control" name="prova_selecionada" id="prova_selecionada">
{% for prova in lista_de_provas %}
<option id="{{prova.idProva}}" name="listaProvas" value='{{prova.idProva}}' disabled>{{prova.tipoProva}} {{prova.anoProva}}</option>
{% endfor %}
</select>
<input id="selProva" type="button" value="Confirma" onclick = "location.href ='{{prova.idProva}}';" />
</form>
{% endif %}
views.py
def index(request):
lista_de_provas = Prova.objects.all()
cprova = request.POST.get('idProva')
if request.method == 'POST':
sprova = Prova.objects.get(cprova = cprova)
sprova.select()
return redirect('polls/detalhes.html')
else:
form = ProvaForm()
return render(request, 'polls/index.html',{'form':form,'lista_de_provas': lista_de_provas})
答案 0 :(得分:0)
有两种方法可以做到这一点。
首先,您可以明确指定所需的对象。如果您正在寻找第二个元素,您可以这样做:
{% if lista_de_provas %}
<form method='post' action=''>
{% csrf_token %}
<select class="form-control" name="prova_selecionada" id="prova_selecionada">
<option id="{{prova.1.idProva}}" name="listaProvas" value='{{prova.1.idProva}}' desabled>{{prova.1.tipoProva}} {{prova.1.anoProva}}</option>Mdjss.199
</select>
<input id="selProva" type="button" value="Confirma" onclick = "location.href ='{{prova.1.idProva}}';" />
</form>
{% endif %}
或者为了使其更具“动态性”和故障安全性,您可以进入视图并在对象上使用.filter()
。因此,您可以执行以下操作代替lista_de_provas = Prova.objects.all()
:
lista_de_provas = Prova.objects.filter(id=2)
抱歉,如果我错过了什么。英语是我的第一语言。