我试过了:
my_form.media.add_js(['path-to/foo.js'])
但是从未添加foo.js
。
我发现media
是属性。这样每次使用my_form.media
时都会创建它。因此add_js()
仅添加到临时媒体对象,该对象将在下一个Python行中消失。
如何在运行时将JS文件添加到django表单?
答案 0 :(得分:4)
在表单中包含JS(或CSS)有两种方法。使用 ,不是。
<强> 1。使用class Media
class MyForm(forms.Form):
# form fields ...
class Media:
js = ('file_name.js', )
<强> 2。使用media
属性
class MyForm(forms.Form):
# fields ...
@property
def media(self):
media = super(MyForm, self).media
js = ('file_name.js',)
media.add_js(js)
return media