Проблема встраивания TinyMCE в Django: приложение TinyMCE не будет отображаться в браузере

Я работаю над веб-приложением с Django и использую приложение Flatpages.

Теперь я пытаюсь встроить редактор TinyMCE WYSIWYG в Flatpages. Я следую за шагами, упомянутыми в книге Апресс: Практические Проекты Джанго. И я все сделал правильно, но приложение TinyMCE не будет отображаться в браузере. Когда я спросил IRC-канал Django, мы обнаружили, что это не проблема Django, похоже, проблема связана с самой TinyMCE. Когда я попытался просмотреть документацию на веб-сайте TinyMCE, все, что я обнаружил, было либо очень устаревшим, либо полностью не связанным с моей проблемой. Как я должен идти об этом?

6 ответов

Вы пробовали django-tinymce?

У меня было приложение django, но я отказался от него в пользу: http://code.djangoproject.com/wiki/AddWYSIWYGEditor

Инструкции были просты и легки для подражания - особенно бит плоской страницы.

Единственная реальная проблема, с которой я столкнулся, заключалась в том, чтобы установить MEDIA_URL как относительное значение. Пока я этого не сделал - все мои всплывающие окна для ссылок, HTML и т. Д. Были пустыми!

Автор Джеймс Беннетт опубликовал исходный код для второго издания книги, чтобы вы могли либо: проверить свой код по этому, либо просто загрузить и использовать его код.

Однако есть два конкретных вопроса, на которые вам нужно ответить перед дальнейшей помощью:

  1. какая версия книги? (Второе издание охватывает Django 1.1, т.е. из багажника)

  2. какую версию Django вы используете?

  3. какая версия Python у вас есть (python -V)?

Если вы используете второе издание и используете svn'd Django из транка, я могу помочь - у меня все работает нормально. Вот моя (OS X) настройка (только для работы через второе издание книги с Django из транка):

в settings.py:

TEMPLATE_DIRS = (
    '/Users/[myhome]/Sites/django-templates/cms/',
)

в urls.py:

(r'^tiny_mce/(?P<path>.*)$', 'django.views.static.serve',
            { 'document_root': '/Users/[myhome]/djangocode/cms/jscripts/tiny_mce/' }),

Тогда есть копия change_form.html дублируется из каталога django и копируется в:

/django-templates/cms/admin/flatpages/flatpage/

который включает в себя:

{{ media }}
<script type="text/javascript" src="/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
  mode: "textareas",
  theme: "simple" //or use advanced
});
</script>
{% endblock %}

Посмотрите это и дайте нам знать, как вы поживаете!

Полезно сначала проверить проблемы с JavaScript, чтобы убедиться, что все скрипты загружены. Взгляните на источник HTML сгенерированной страницы в браузере, найдите все <script src="..."> теги и проверьте, что их пути доступны.

Вы также можете посмотреть на терминал, где вы запускаете сервер разработки Django, или "Net" вкладка Firebug.

Я сам следил за книгой "Практические проекты Джанго". Я также получил TinyMCE несколько дней назад. Я могу помочь, но мне нужно немного больше информации. Покажите мне строку в шаблоне, где вы включаете файл JavaScript TinyMCE. Также опишите, где вы разместили папку TinyMCE. Я уверен, что ваша проблема в том, что ссылка на скрипт не совпадает с фактическим местоположением каталога.

Вы можете просмотреть код change_form.html, который находится в моем /[путь к шаблонам]/[имя проекта]/admin/flatpages/flatpage/ и работает как шарм: http://pastebin.com/f21a1cd97

Другие вопросы по тегам