Не удается заставить TinyMCE работать в админке django

Я следую инструкциям в здесь, чтобы установить TinyMCE в бэкэнд администратора django.

Но это не работает. При проверке журнала консоли я увидел следующее:

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

Нужно ли мне вручную добавлять файл js? В инструкции в гитхабе об этом не упоминается.

ОБНОВЛЕНИЕ

В самом деле, чтобы заставить его работать, нужно будет переместить 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',)

person dev-jim    schedule 06.08.2015    source источник
comment
проверьте разрешение вашей статической папки   -  person Pierangelo Orizio    schedule 06.08.2015
comment
И скопируйте папку tiny_mce на носитель.   -  person Pierangelo Orizio    schedule 06.08.2015


Ответы (3)


У этой проблемы есть 2 возможные причины.

1.) У вас есть необходимые файлы, но в другом месте, чем указано в теге вашего скрипта. Измените URL-адрес в теге script на допустимое местоположение, и он будет работать

2.) У вас нет необходимых файлов. Загрузите исходные файлы и поместите их в указанное место, и все будет работать.

person Flip Vernooij    schedule 06.08.2015

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'

Теперь вам нужно убедиться, что вы используете «django.contrib.staticfiles.finders.AppDirectoriesFinder» в настройках STATICFILES_FINDERS, чтобы не копировать файлы в среде разработки и собирать их с помощью collectstatic.

person Rômulo Collopy    schedule 02.12.2015

Ты должен попытаться:-

  1. Первое удаление tinymce

    pip удалить django-tinymce4

  2. а затем переустановка tinymce

Это сработало для меня

person sahil godwal    schedule 12.11.2019