django tinymce javascript无法在非管理页面上加载

我正在尝试在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”.

我该如何解决该错误?谢谢你们

解决方法:

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>

但是前者可能更容易

上一篇:javascript-TinyMCE-编写在顶部插入内容的插件


下一篇:tinymce实现ctrl+v粘贴word图片并上传