В большей части сайта я использую самописный WYSIWYG редактор, поэтому он не такой продвинутый как хотелось бы. А вот для написания статей на сайте, используется CKEditor , очень мощный и хороший редактор. Нюанс в том, что написание статей доступно для всех зарегистрированных пользователей сайта. Но по умолчанию CKEditor позволяет загружать изображения только пользователям со статусом персонала.
Для всех других пользователей будет открываться либо страничка с ошибкой, либо главная страница сайта вместо файлового менеджера для поиска изображений или загруженного изображения.
Немного полистав документацию, удалось исправить эту проблему. И честно говоря смотрится решение довольно странно, хотя и предлагается в официальной документации на редактор.
Суть в том, что обычно для модуля загрузки изображений urls подключаются следующим образом.
urlpatterns = [ url(r'^ckeditor/', include('ckeditor_uploader.urls')), ]
А если заглянуть в исходники ckeditor , то можно увидеть следующее
urlpatterns = patterns( '', url(r'^upload/', staff_member_required(views.upload), name='ckeditor_upload'), url(r'^browse/', never_cache(staff_member_required(views.browse)), name='ckeditor_browse'), )
Так вот функция staff_member_required как вы уже поняли, ограничивает доступ пользователей к данному функционалу. То есть только персонал может загружать изображения и искать изображения через файловый браузер на сайте.
И что нам предлагает официальная документация вместо какого-нибудь флага настроек?
Правильно, записать напрямую пути к вьюшкам, то есть таким образом.
urlpatterns = [ url(r'^upload/', login_required(upload), name='ckeditor_upload'), url(r'^browse/', login_required(never_cache(browse)), name='ckeditor_browse'), ]
То есть выкидываем staff_member_required и заменяем его на login_required, чтобы дать доступ всем пользователям сайта, кроме неавторизованных.
На мой взгляд, довольно странное решение, когда это можно было сделать с помощью переменной в настройках. Это слегка неудобно и нелогично.
Для Django рекомендую VDS-сервера хостера Timeweb .
Ай малаца! Спасибо))
Здравстсвуйте Евгений, непонятно мне где эти исходники найти?
Добрый день.
На GitHub исходники, можете посмотреть в официальном репозитории
Спасибо!!!