Django:在运行时将JS添加到Form

时间:2015-05-26 11:22:50

标签: javascript django runtime

我试过了:

my_form.media.add_js(['path-to/foo.js'])

但是从未添加foo.js

我发现media是属性。这样每次使用my_form.media时都会创建它。因此add_js()仅添加到临时媒体对象,该对象将在下一个Python行中消失。

如何在运行时将JS文件添加到django表单?

1 个答案:

答案 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