Изначально пост планировался о наборе приложений без которых не обходится ни один мой проект на django, но потом я решил попробовать связку dajngo + wysiwyg-редактор с возможностью загрузки изображений. В итоге пост получился о том как построить простой сайт на flatpages с возможностью редактирования страниц и загрузки файлов.
Для начала нам понадобится:
У меня получился такой settings.py и urls.py.
Теперь надо связать flatpages и только-что установленный django-tinymce, для этого в папке tinymce (я установил django-tinymce простым копированием нужных файлов в корень проекта) создаем admin.py. Все, теперь мы имеем работающую связку tinymce + flatpages, остается только настроить tinymce по вкусу.
Следующим этапом прикрутим загрузчик файлов. Для tinymce хватает разных загрузчиков - и платных и бесплатных, небольшой обзор есть тут. Но не у всех реализаций есть бекенд на python, точнее мне известен только для Image Manager, который рассматривается ниже.
Начнем с django-filebrowser, его требования:
Настройка django-filebrowser описана тут, а установка Grappelli описана тут. Grappelli меняет скин дефолтной админки django, скриншоты можно посмотреть тут. Django-filebrowser отказывается работать без Grappelli. Но после настройки этой связки все работает как положено: изображения и другие типы файлов грузятся без проблем, файлы можно сортировать по папкам, последние можно создавать/удалять.
Еще один вариант загрузчика изображений - Image Manager, демка. Сам загрузчик берем тут, коннектор для django тут. Автором коннектора является Андрея Гладилина, но у меня не заработал его коннектор, пришлось патчить:
Установка:
Еще WYSIWYG-редакторы, которые дружат с django:
Кстати, markItUp! + postmarkup = отличный BBCode редактор на python.