我试图在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 textarea,然后我在Chrome上点击“F12”,然后它说:'未捕获的引用错误:tinyMCE未定义'。
如何修复该错误? thx guys
答案 0 :(得分:3)
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>
但前者可能更容易
答案 1 :(得分:0)
在这种情况下,似乎尚未加载文件tiny_mce.js
。