javascript - Django:在运行时将 JS 添加到表单

标签 javascript django 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 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/

相关文章:

javascript - Canvas - 适合慢速网络的游戏加载

python - 在 Django 中使用元类

c# - 你能在运行时使用 C# 实例化模板类吗

iphone - 为 iPad 和 iPhone 运行时创建不同的@properties

javascript - 具有不同 td 细胞和一个普通 td 细胞的 knockout 模板

javascript - 如何处理 backbone.js 中的关系

javascript - 为 jQuery 延迟对象提供默认的 'fail' 方法

javascript - django-jquery 日期时间选择器无法保存所选日期的表单

django - sorl缩略图和缓存问题

c - 什么样的错误会影响以前的 C 语句?