我在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將自動更新而不刷新頁面。 –