ОМУ в администраторе Django?

Я знаю, как использовать WMD и другие подобные редакторы javascript в обычных форматах django, используя widget =. Однако, как я могу использовать ОМУ для текстовых полей в администраторе Django? Кроме того, как я могу использовать его для поля содержимого в contrib.flatpages в admin?

Кроме того, я думаю, что мне бы хотелось использовать вилку StackOverflow для ОМУ, поэтому я бы хотел, если это необходимо, специальными инструкциями.

Я знаю, как использовать фильтр меток в шаблонах, так что эта часть в порядке. Мне просто нужно заставить редактор отображаться и работать в интерфейсе администратора.

Ответ 1

Я отказался от попыток использовать ОМУ. Вместо этого я использовал Markitup! По состоянию на момент публикации, нынешняя версия ОМУ просто не доходит до табака. Вилка StackOverflow этого лучше, но не хватает многих функций, которые я хочу.

Вместо этого я решил использовать Markitup! В нем есть приложение для повторного использования Django. Он также очень хорошо интегрируется с существующими фильтрами шаблонов django.contrib.markup.

django-markitup

Я также нашел сайт, который показывает, как использовать его для flatpages без необходимости редактировать шаблоны администратора.

расширение форм администратора в django

Ответ 2

Чтобы вставить WMD или любую другую классную JS в страницы администратора Django, следуйте инструкциям по переопределению шаблонов администратора в документах Django, справа здесь - в худшем случае вы скопируете и отредактируете существующие шаблоны Django, чтобы добавить необходимые JS-функции, и используйте эти инструкции, чтобы убедиться, что ваши измененные шаблоны используются вместо стандартных по умолчанию Django, но почти всегда вы можете делать лучше, чем это, как вы увидите в этих инструкциях.

Ответ 3

Это не прямой ответ на ваш вопрос, но он может помочь.

Похоже, что добавить TinyMCE редактор WYSIWYG в django. Если вы ищете инструкции по добавлению TinyMCE в администратор Django, вы можете адаптировать метод для ОМУ.

В книге Практические проекты Django, второе издание автор вводит TinyMCE в flatpages admin. Вы можете загрузить код из репозитория Bitbucket и посмотреть, как это делается (посмотрите cms/templates/admin/). Кроме того, вы можете попробовать это руководство на веб-сайте Django.


+1 для вопроса. Я также хотел бы написать flatpages в методе уценки. Однако я считаю, что лучший способ использования метокдажа -

  • имеют два поля, например content и content_html, и сохраняем исходную уценку в content.
  • Когда объект сохраняется, преобразуйте уценку в html и сохраните ее в content_html.

Это означает, что вы избегаете преобразования в HTML в шаблоне каждый раз, когда просматривается страница. Однако я не знаю элегантного способа расширения contrib.flatpages путем добавления дополнительного поля.