我在DOM中有两个选取列表,首先在视图中的方法加载页面时加载URL期间填充。第二个选项列表的内容取决于用户在第一个选项列表中选择的内容。 当用户在第一个选择列表中进行选择,在python中进行一些操作,返回一个我想在第二个选择列表中显示的值的列表,然后在不刷新页面的情况下填充它,如何将python方法绑定到事件?更新DOM,无需在Django中重新加载页面
我的模板看起来是这样的:
{% block content %}
{% if list_of_events %}
<form>
<select>
{% for event in list_of_events %}
<option value="name">{{ event.module }}</option>
{% endfor %}
</select>
</form>
{% else %}
<p>No events available now.</p>
{% endif %}
下一页条件等应当返还用户选择在第一选择列表中的数值后到模板first_selection说法。
{% if first_selection %}
<form>
<select>
{% for room in list_of_rooms %}
<option value="name">{{ room.id }}</option>
{% endfor %}
</select>
</form>
{% endif %}
<input type="submit" value="Submit">
{% endblock %}
我views.py
方法是这样的:
def events(request):
try:
list_of_events = Event.objects.all()
except:
raise Http404('Something\'s wrong with events page loader')
return render(request, 'web_service/schedule.html', {
'list_of_events': list_of_events
})
你有没有考虑阿贾克斯? – Reza
您只能重新填充页面而无需使用Javascript重新载入页面。尽管你可以用Python返回所需的数据,但它不能用Python完成。 AJAX上有很多教程。 –
不幸的是我并不熟悉它,但是我在Angular4中有经验,所以我正在寻找一些相似之处。可以简单地将打字稿方法绑定到onClick事件,DOM将自动更新而不刷新页面。 –