Django Tinymce js не загружается

Привет всем, я пытаюсь интегрировать тинимс в админку django. Я установил модуль django-tinymce (http://code.google.com/p/django-tinymce/). Я выполнил инструкции, так что это мои файлы:

settings.py

INSTALLED_APPS = (
    ...
    'tinymce',
)


TINYMCE_DEFAULT_CONFIG = {
    'plugins': "table,paste,searchreplace",
    'theme': "advanced",
}
TINYMCE_SPELLCHECKER = False
TINYMCE_COMPRESSOR = False

url.py

urlpatterns = patterns('',
    # Example:
    # (r'^uboPy/', include('uboPy.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
        (r'^admin/', include(admin.site.urls)),
        (r'^tinymce/', include('tinymce.urls')),
)

У меня есть js-файлы tinymce в папке в корне под названием media/js В модели у меня есть эта строка: text = tinymce_models.HTMLField()

когда я запускаю сервер, я не получаю ошибки, но когда я захожу в админку моей модели, tinymce не загружается. С firebug я вижу, что библиотека tinymce выдает ошибку 404, но путь правильный .. У меня проблема с моим url.py?

Спасибо за помощь


person Ghenna    schedule 20.02.2011    source источник


Ответы (2)


Вы просто помещаете в корень своего проекта папку с именем media/js? На самом деле его нужно как-то обслуживать с какого-то URL-адреса.

Файл JavaScript загружается через ваш браузер, поэтому он должен быть доступен в Интернете, где находятся все ваши другие медиа. Эта часть не имеет ничего общего с django, поэтому не стоит ожидать ошибок или проблем с URL.

Решив эту часть, укажите URL-адрес, по которому можно получить доступ к файлу, с помощью параметра TINYMCE_JS_URL settings.

Например, в моей настройке js - это ..

TINYMCE_JS_URL = '/media/js/tiny_mce/tiny_mce.js'

С firebug я вижу, что библиотека tinymce выдает ошибку 404, но путь правильный.

Вы хотите сказать, что можете посетить этот URL-адрес, и файл JS загрузится? Я говорю: как правильный путь, если это 404?

person Yuji 'Tomita' Tomita    schedule 20.02.2011

Я обнаружил, что документация django-tinymce устарела, т.е. частично неверна.

Я обнаружил, что разные версии пакетов tinymce и django-tinymce несовместимы.

Я решил это, добавив некоторые переменные в мой проект / settings.py и изменив каталог tinymce и имена файлов.

В django-tinymce urls.py было несколько жестко запрограммированных путей, которые предполагали, что каталоги назывались «tiny_mce», тогда как на самом деле они назывались «tinymce», поэтому мне пришлось переименовать их или изменить django-tinymce urls.py.

# project setting.py
STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_JS_DIR = os.path.join(STATIC_DIR, "js")
TINYMCE_JS_ROOT = os.path.join(STATIC_JS_DIR, "tiny_mce")
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tiny_mce.js")
#TINYMCE_JS_ROOT = os.path.join(STATIC_JS_DIR, "tiny_mce")
#TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tiny_mce.js")
person Chikipowpow    schedule 26.02.2014