我正在將一個項目從php轉換到Django,並遇到過濾菜單的問題。我有一個表格:django動態過濾形式
class SearchForm(forms.Form):
genus = forms.CharField(max_length=100)
# species
species = forms.CharField(max_length=100)
# island group
island_group = forms.ModelChoiceField(queryset=Localitymayor.objects.values_list('islandgroup', flat=True).distinct('islandgroup').exclude(islandgroup="n/a").order_by('islandgroup'), empty_label=_("Not Specified"))
# island name
island_name = forms.ModelChoiceField(queryset=Localitymayor.objects.values_list('islandname', flat=True).distinct('islandname').exclude(islandname="n/a").order_by('islandname'), empty_label=_("Not Specified"))
我的模板是沿着線:
<form action="{% url cdrs_search %}" method="post">{% csrf_token %}
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
</form>
現在我要過濾的island_name
的取決於island_group
選擇,輸出。在我的PHP項目中,我用ajax onChange調用了另一個php腳本。但是,我在Django中如何做到這一點有點失落。由於這是我第一次在Django中使用ajax,因此對於處理這種簡單但通用的過濾菜單問題的最佳實踐方法,我將不勝感激。提前致謝。
爲什麼它會在Django中有所不同?您仍然需要一個調用服務器端視圖的Ajax onChange函數。 – 2011-12-20 19:03:12