【问题标题】:django tinymce javascript not loading on non-admin pagesdjango tinymce javascript 未在非管理页面上加载
【发布时间】:2012-07-06 14:17:22
【问题描述】:

我试图在 Django 上实现 TinyMCE,我已经使用这样的设置在管理页面上成功实现了它:

admin.py:

class TinyMCEAdmin(admin.ModelAdmin):
    class Media:
            js = ('/media/js/tiny_mce/tiny_mce.js', '/media/js/tiny_mce/textareas.js',)

settings.py:

TINYMCE_JS_ROOT = '/media/js/tiny_mce/'
TINYMCE_JS_URL = '/media/js/tiny_mce/tiny_mce.js'

然后当我尝试在我的表单上实现它时(非管理员):

forms.py:

from tinymce.widgets import TinyMCE

class Foo(forms.Form):
    title       = forms.CharField(max_length = 100)
    content     = forms.CharField(widget = TinyMCE())

当我看到结果时,它只显示纯 html 文本区域,然后我在 Chrome 上按“F12”,然后它说:“未捕获的引用错误:未定义 tinyMCE”。

我该如何解决这个错误?谢谢各位

【问题讨论】:

    标签: javascript python django tinymce


    【解决方案1】:

    Looking at the documentation,如果您在管理员之外的表单中使用 TinyMCE,您需要告诉它包含手动渲染 TinyMCE 所需的 JS/CSS。因此,在您的基本模板(或类似的地方)中,您需要添加:

    <head>
        ...
        {{ form.media }}
    </head>
    

    或者您可以简单地手动加载 js:

    <head>
       <script src="{{ MEDIA_URL }}js/tiny_mce/tiny_mce.js"></script>
       <script src="{{ MEDIA_URL }}js/tiny_mce/textareas.js"></script>
    </head>
    

    但前者可能更容易

    【讨论】:

      【解决方案2】:

      在这种情况下,文件tiny_mce.js 似乎尚未加载。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-02
        • 1970-01-01
        • 1970-01-01
        • 2021-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多