提问人:kkkkk 提问时间:1/17/2016 最后编辑:Stephen Docykkkkk 更新时间:4/21/2018 访问量:1466
Django 选择如何记住所选值?
Django select how to remember chosen value?
问:
我有一个选择。在项目更改时,我重新加载了一个页面,但在重新加载后,我选择了一个空白项目。如何记住所选项目?
teacher.html
<form id="form" method="POST">{% csrf_token %}
<select name="choose_teacher" onChange="this.form.submit();" blank_choice='Please choose:' >
<option value="{{ 0 }}">blank</option>
{% for item in query_results %}
<option value="{{ item.id }}">{{ item.title}} {{ item.name }} {{ item.surname }}</option>
{% endfor %}
</select>
</form>
{{ teacher_id }}
views.py
def teacher(request):
if request.method == 'POST':
if 'choose_teacher' in request.POST:
teacher_id = request.POST['choose_teacher']
query_results = Teacher.objects.all()
context = {'teacher_id': teacher_id,
'query_results': query_results}
return render(request, 'planner/teacher.html', context)
else:
query_results = Teacher.objects.all()
context = {'query_results': query_results}
return render(request, 'planner/teacher.html', context)
:编辑:
<form id="form" method="POST">{% csrf_token %}
<select name="choose_teacher" onChange="this.form.submit();">
{% for item in query_results %}
<option value="{{ item.id }}"
{% ifequal teacher_id item.id %}selected{% endifequal %}>{{ item.title }} {{ item.name }} {{ item.surname }}</option>
{% endfor %}
</select>
</form>
答:
2赞
Assem
1/17/2016
#1
将模板选项更改为:select
<option value="{{ item.id }}"
{% ifequal teacher_id item.id %}selected{% endifequal %}
>{{ item.title}} {{ item.name }} {{ item.surname }}</option>
它将测试选项 id 是否等于 ,如果为 true,则添加标记。teacher_id
selected
选项 0 也是如此:
<option value="0" {% ifequal teacher_id 0 %}selected{% endifequal %}>blank</option>
评论
0赞
kkkkk
1/17/2016
它不起作用。我已经在我的 for 中更改了它。它和以前一样工作。
评论