Пара файлменеджер+wysiwyg - удобный набор для привлечения к генерации контента пользователей совсем уж низкого уровня технической подготовки.
Сейчас, чтобы подключить к любимой CMSке на django загрузку картинок, уже не нужно ничего велосипедить. Решение проблемы сводится к поиску нужного форка на github. И это же правило справедливо для большинства plugable-приложений.
В случае с заявленными в сабже приложениями нужно:
1. Настроить tinymce (отобрать у пользователя все не нужные ему возможности. Меньше можешь - меньше накосячишь). Файл настроек django-tinymce может выглядеть так:
# -*- coding: utf8 -*-
from settings import STATIC_ROOT
#TinyMCE widget configuration
TINYMCE_JS_URL = "/static/tiny_mce/tiny_mce.js"
TINYMCE_JS_ROOT = STATIC_ROOT + "/tiny_mce"
TINYMCE_SPELLCHECKER=False
TINYMCE_PLUGINS = [
'safari',
'table',
'advlink',
'advimage',
'iespell',
'inlinepopups',
'media',
'searchreplace',
'contextmenu',
'paste',
'wordcount'
]
TINYMCE_DEFAULT_CONFIG={
'theme' : "advanced",
'plugins' : ",".join(TINYMCE_PLUGINS), # django-cms
'language' : 'ru',
'theme_advanced_buttons1' : "bullist,numlist,|,link,unlink,anchor,image",
'theme_advanced_buttons3' : "table,|,delete_row,delete_table,|,row_after,row_before",
'theme_advanced_buttons4' : "styleselect,formatselect,fontselect,fontsizeselect",
'theme_advanced_buttons2' : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,undo,redo,|,link,unlink,cleanup",
'theme_advanced_buttons4' : "",
'theme_advanced_toolbar_location' : "top",
'theme_advanced_toolbar_align' : "left",
'theme_advanced_statusbar_location' : "bottom",
'theme_advanced_resizing' : True,
'table_default_cellpadding': 2,
'table_default_cellspacing': 2,
'cleanup_on_startup' : False,
'cleanup' : False,
'paste_auto_cleanup_on_paste' : False,
'paste_block_drop' : False,
'paste_remove_spans' : False,
'paste_strip_class_attributes' : False,
'paste_retain_style_properties' : "",
'forced_root_block' : False,
'force_br_newlines' : False,
'force_p_newlines' : False,
'remove_linebreaks' : False,
'convert_newlines_to_brs' : False,
'inline_styles' : False,
'relative_urls' : False,
'formats' : {
'alignleft' : {'selector' : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', 'classes' : 'align-left'},
'aligncenter' : {'selector' : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', 'classes' : 'align-center'},
'alignright' : {'selector' : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', 'classes' : 'align-right'},
'alignfull' : {'selector' : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', 'classes' : 'align-justify'},
'strikethrough' : {'inline' : 'del'},
'italic' : {'inline' : 'em'},
'bold' : {'inline' : 'strong'},
'underline' : {'inline' : 'u'}
},
'pagebreak_separator' : ""
}
#FILEBROWSER_URL_FILEBROWSER_MEDIA = STATIC_URL + 'filebrowser'
FILEBROWSER_DIRECTORY = 'filebrowser'
2. Найти и установить тот самый, правильный форк. Сегодня для меня это
https://github.com/smacker/django-filebrowser-no-grappelli-for-django13 (чтоб установить нужно прописать в INSTALLED_APPS tinymce и добавить url(r'^tinymce/filebrowser/',include('filebrowser.urls')),).