我尝试过这个:
my_form.media.add_js(['path-to/foo.js'])
但是 foo.js
从未被添加。
我发现 media
是一个属性。这样,每次我使用 my_form.media 时都会创建它。因此,add_js()
仅添加到临时媒体对象,该对象将在下一个 Python 行中消失。
如何在运行时将 JS 文件添加到 django 表单?
最佳答案
有两种方法可以在表单中包含 JS(或 CSS)。使用其中其中一个,不要同时使用。
<强>1。使用类媒体
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
关于javascript - Django:在运行时将 JS 添加到表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30457128/