Проблема встраивания TinyMCE в Django: приложение TinyMCE не будет отображаться в браузере - PullRequest
4 голосов
/ 12 февраля 2009

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

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

Ответы [ 6 ]

5 голосов
/ 12 февраля 2009

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

4 голосов
/ 07 августа 2009

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

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

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

3 голосов
/ 17 июля 2009

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

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

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

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

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

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

in 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 %}

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

1 голос
/ 14 февраля 2009

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

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

1 голос
/ 12 февраля 2009

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

0 голосов
/ 02 февраля 2010

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

...