Вопрос
Я знаю, как использовать WMD и другие подобные редакторы javascript в обычных формах django, используя widget=.Однако, как мне использовать WMD для текстовых полей в Django admin?Кроме того, как мне использовать его для поля содержимого в contrib.flatpages в admin?
Кроме того, я думаю, что я мог бы использовать форк StackOverflow для WMD, поэтому я хотел бы получить какие-либо специальные инструкции для этого, если это необходимо.
Я знаю, как использовать фильтр markdown в шаблонах, так что с этой частью все в порядке.Мне просто нужно, чтобы редактор отображался и работал в интерфейсе администратора.
Решение
Я отказался от попыток применить ОМП.Вместо этого я использовал Markitup!На момент публикации текущая версия WMD просто не соответствует требованиям.Его форк StackOverflow лучше, но в нем отсутствуют многие функции, которые я хочу.
Вместо этого я решил использовать Markitup!У него есть многоразовое приложение Django.Он также очень хорошо интегрируется с существующими фильтрами шаблонов django.contrib.markup.
django-markitup (джанго-маркетап)
Я также нашел сайт, который показывает, как использовать его для flatpages без необходимости редактировать шаблоны администратора.
Другие советы
Чтобы вставить WMD или любой другой классный JS на страницы администратора Django, следуйте инструкциям по переопределению шаблонов администратора в документах Django, верно здесь -- в худшем случае вы скопируете и отредактируете существующие шаблоны Django, чтобы добавить необходимую функциональность JS, и используете эти инструкции, чтобы убедиться, что ваши измененные шаблоны используются вместо шаблонов Django по умолчанию, но почти всегда вы можете сделать лучше, чем это, как вы увидите в этих инструкциях.
Это не прямой ответ на ваш вопрос, но это может помочь.
Кажется, довольно распространенным является добавление Крошечный кусочек Редактор WYSIWYG для django.Если вы поищете инструкции о том, как добавить TinyMCE в Django admin, возможно, вы сможете адаптировать этот метод для WMD.
В книге Практические проекты Django, Второе издание, автор встраивает TinyMCE в flatpages
администратор.Вы можете загрузить код с Репозиторий Bitbucket, и посмотрите, как это делается (посмотрите на cms/templates/admin/).В качестве альтернативы, вы могли бы попробовать это руководство на веб-сайте Django.
+1 за вопрос.Я также хотел бы написать flatpages
в уценке.Однако я думаю, что лучший метод использования markdown - это
- есть два поля, скажем
content
иcontent_html
, и сохраните исходную уценку вcontent
. - Когда объект будет сохранен, преобразуйте markdown в html и сохраните его в
content_html
.
Это означает, что вы избегаете преобразования в html в шаблоне при каждом просмотре страницы.Однако я не знаю элегантного способа расширить contrib.flatpages
путем "добавления" дополнительного поля.
Проверь это http://fi.am/entry/adding-a-simple-wysiwym-markdown-editor-to-your-mo/
Это гораздо лучшее решение.
Так просто и понятно.