1

我按照此处的说明将 TinyMCE 安装到 django Admin 后端。

但它不起作用。检查控制台日志时,我看到了这个:

http://127.0.0.1:8000/media/js/tiny_mce/tiny_mce.js Failed to load 

我需要手动添加js文件吗?github中的说明没有提到这一点。

更新

确实要使其工作,必须将 tiny_mce 移动到您的静态文件夹。这是我为也有类似问题的人提供的解决方案。

settins.py
STATIC_URL = '/static/'
STATIC_ROOT = ''
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)
#this is for localhost development, if you are in production enviroment, you will need to remove the STATICFILES_DIRS and define your STATIC_ROOT
 TINYMCE_DEFAULT_CONFIG = {
 'plugins' : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,pagebreak",
'theme': "advanced",

'theme_advanced_buttons1' : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,fontselect,fontsizeselect,fullscreen,code,|,preview,image,media",
'theme_advanced_buttons2' : "table,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,|,forecolor,backcolor, emotions,|,pagebreak,paste",
'theme_advanced_buttons3 ': "",
'theme_advanced_toolbar_location' : "top",
'theme_advanced_toolbar_align' : "left",
'width': '700',
'height': '400'
}


admin.py
class AdminPost(admin.ModelAdmin):
    class Media:
                js = ('/static/js/tiny_mce/tiny_mce.js',)
4

3 回答 3

1

Django TinyMCE 将媒体 url 作为默认值,如您在文档中所见:

TINYMCE_JS_URL (default: settings.MEDIA_URL + 'js/tiny_mce/tiny_mce.js')
TINYMCE_JS_ROOT (default: settings.MEDIA_ROOT + 'js/tiny_mce')

如果您更喜欢使用静态文件夹中的静态文件,则必须将这些值设置为正确的路径。我建议:

TINYMCE_JS_URL = settings.STATIC_URL + 'js/tiny_mce/tiny_mce.js'
TINYMCE_JS_ROOT = settings.STATIC_ROOT + 'js/tiny_mce'

现在您必须确保在 STATICFILES_FINDERS 设置中使用“django.contrib.staticfiles.finders.AppDirectoriesFinder”,以便不必在开发环境中复制文件,并使用 collectstatic 进行收集。

于 2015-12-02T14:10:20.690 回答
0

你应该试试:-

  1. 首先卸载tinymce

    pip卸载django-tinymce4

  2. 然后重新安装tinymce

它对我有用

于 2019-11-12T17:26:51.610 回答
0

这个问题有两个可能的原因。

1.) 您拥有所需的文件,但位于与脚本标签中指定的位置不同的位置。将脚本标签中的 url 更改为有效位置,它将起作用

2.) 您没有所需的文件。下载源文件并将它们放在指定的位置,它会工作。

于 2015-08-06T11:54:17.297 回答