Django:在运行时将 JS 添加到 Form
Django: Add JS to Form at runtime
我试过这个:
my_form.media.add_js(['path-to/foo.js'])
但从未添加 foo.js
。
我发现 media
是 属性。这样每次我使用 my_form.media
时都会创建它。结果 add_js()
只添加到一个临时媒体对象,它将在下一个 Python 行中消失。
如何在运行时将 JS 文件添加到 django 表单?
有两种方法可以在表单中包含 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
我试过这个:
my_form.media.add_js(['path-to/foo.js'])
但从未添加 foo.js
。
我发现 media
是 属性。这样每次我使用 my_form.media
时都会创建它。结果 add_js()
只添加到一个临时媒体对象,它将在下一个 Python 行中消失。
如何在运行时将 JS 文件添加到 django 表单?
有两种方法可以在表单中包含 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