TinyMCE JS возвращает 404 в проекте django

#django #tinymce

#django #tinymce

Вопрос:

Я получаю 404 на своем локальном сервере при попытке загрузить файлы TinyMCE JS. Я использую django-mce пакет, я загрузил последние файлы mce и добавил их в свой media каталог. При попытке использовать их с формой возвращается 404.

forms.py

 from django import forms
from tinymce.widgets import TinyMCE

class post(forms.Form):
  description = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
  

settings.py

 # File Management

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

# tinymce

TINYMCE_JS_URL = os.path.join(MEDIA_ROOT, "js/tiny_mce/tinymce.min.js")
TINYMCE_JS_ROOT = os.path.join(MEDIA_ROOT, "js/tiny_mce")

TINYMCE_DEFAULT_CONFIG = {
    'theme': 'advanced',
    'relative_urls': False,
    'plugins': 'media',
    'theme_advanced_buttons1': 'bold,italic,underline,bullist,numlist,|,media,link,unlink,image',
}
  

Крошечные js-файлы mce хранятся вместе proj/media/js/tiny_mce с базовым js-файлом, сохраненным как tinymce.min.js

base.html

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

Редактор работает (в отношении столбцов и строк), но отсутствует панель инструментов. Также возвращается локальный сервер GET proj/media/js/tiny_mce/tinymce.min.js HTTP/1.1" 404 3024 , и на данный момент я в недоумении. Любая помощь приветствуется.

Комментарии:

1. Почему вы добавляете к нему префикс proj/ ? Ваш MEDIA_URL параметр не содержит ничего подобного.

2. @IvanStarostin BASE_DIR является абсолютным Users/name/Desktop/proj , поэтому мой медиа-корень должен быть Users/name/Desktop/proj/media

3. GET proj/media/js/tiny_mce/tinymce.min.js -> GET media/js/tiny_mce/tinymce.min.js Я говорю о MEDIA_URL.

4. @IvanStarostin, это не сработало, но это вывело меня на правильный путь, он хотел загружаться из static, когда я перестал использовать os.path.join путь к мультимедиа, поэтому я просто создал статические файлы для tinymce, а затем использовал их в качестве своего URL-адреса tinymce и root, и это сработало отлично. Если вы хотите добавить это в качестве ответа, я приму это, спасибо!