2017-02-25 64 views
0

事實上,在Django表單中沒有html代碼。 dirrectly HTML選擇框/文本通過的Django模型發生,與verbose_name的幫助和help_text我們可以在onchange函數中調用Django Form中的Ajax嗎?

class Activity(models.Model): 
    act_des_code = models.ForeignKey('Destionation', related_name='act_des_code',db_column='act_des_code') 
    act_cit_keyname = models.CharField(max_length=30) 
    act_discription = models.TextField(max_length=255,verbose_name='Description') 

class ActivityForm(ModelForm): 
    class Meta: 
     model = Activity 
     fields = ['act_des_code', 'act_cit_keyname','act_discription'] 
     widgets={'act_discription': Textarea(attrs={'cols': 80, 'rows': 5})} 

act_des_code和act_cit_keyname有兩個選擇框。

注意:沒有HTML代碼,所有事情都是通過Django表單發生的。

在前端Onchange of act_des_code(dropDown)我想在act_cit_keyname(dropDown)中顯示Destionation類的列值。例如:國家所有城市的交匯處都應該在城市下降。

您的寶貴意見將幫助我很多。

+0

如果在後端處理,我從來沒有找到它。我建議你通過ajax來處理這個問題,例如:如果'act_des_code'被更改,請調用ajax來查找所有'act_cit_keyname' ...你需要創建一個返回json城市的視圖.. –

+0

但是我的要求是這樣做通過Django表單。謝謝 –

回答

0

下面是我在Django 1.3中使用的一個例子,其中get_schedule()是一個Javascript函數。最近沒有嘗試過,但attrs的語法仍然可以在1.10中找到。

training_class = ModelChoiceField(queryset=TrainingClass.objects.filter(active_flag=True), 
            widget=Select(attrs={'onchange':'get_schedule();'})) 
+0

讓我檢查....謝謝...... –

相關問題