如何访问Django表单中的函数
我需要在Django表单的单选按钮上执行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
你需要使用AJAX:
在你的模板中:
$(document).ready(function(){
function check_status(){
$.get("{% url app.views.check_status %}", function(data){
console.log(data);
}
}
})
https://api.jquery.com/jQuery.get/
这样你就可以从视图中执行函数了。