如何访问django表单中的函数

时间:2014-03-26 10:09:38

标签: python django django-forms

我需要在django表单radioButton上执行onChange函数。我无法访问该功能以进行进一步处理。是否可以在没有模板的情况下执行管理功能,因为我已经在forms.py中定义了表格,如下所示

forms.py

BoolChoices = ((0, 'Yes'), (1, 'No'))
class myForm(forms.ModelForm):
        myfield = forms.IntegerField(widget=forms.TextInput(attrs={'size': 7, 'disabled':True}))
    option = forms.TypedChoiceField( choices=BoolChoices, widget=forms.RadioSelect(renderer=HorizontalRadioRenderer, attrs={'onchange':'check_status()'}), coerce=int)

定义views.py中的函数

def check_status(request):
    if request.method == 'GET':
        form = MyForm
    else:
        form = MyForm(request.POST)
    if form.is_valid():
        opt = form.cleaned_data['option']
        if opt == 1:
            form.fields['myfield'].widget.attrs['enabled'] = True

我该怎么办才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

您需要使用AJAX:

在你的模板中:

$(document).ready(function(){
function check_status(){
   $.get("{% url app.views.check_status %}", function(data){
       console.log(data);
   }
}
})

https://api.jquery.com/jQuery.get/

这样你就可以从视图中执行函数了。