Здравствуйте! Помогите разобраться.
Установил приложение
django-ckeditor для текстового поля. Хочу дать возможность загружать изображения из компьютера пользователя. Проблема в том что нет кнопки для загрузки изображения из компьютера, так же нет возможно добавить (точнее ничего не вводится) url адрес изображения из интернета. Что упустил?
1) Установил
ckeditor и
ckeditor_uploader в
INSTALLED_APPS setting.py.
2) Запустил команду
collectstatic .
urls.py:urlpatterns = i18n_patterns(
# Django Ckeditor
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
)
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.py:STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')
MEDIA_URL = '/media/'
CKEDITOR_UPLOAD_PATH = "uploads/"
CKEDITOR_JQUERY_URL = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"
CKEDITOR_IMAGE_BACKEND = 'pillow'
CKEDITOR_UPLOAD_SLUGIFY_FILENAME = False
CKEDITOR_RESTRICT_BY_USER = True
CKEDITOR_BROWSE_SHOW_DIRS = True
models.py:class Post(models.Model):
content= RichTextUploadingField(_('Description'))
forms.py:class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('description',)
widgets = {
'description': CKEditorUploadingWidget()
}
views.py:def post_add(request):
data = dict()
if request.method == 'POST':
post_form = PostForm(request.POST)
if post_form.is_valid():
post = post_form.save(commit=False)
***Some code***
post.save()
data['form_is_valid'] = True
posts = Post.objects.all()
context = {'posts ': posts }
context.update(csrf(request))
data['html_post'] = render_to_string('project/post_list.html', context)
else:
data['form_is_valid'] = False
else:
post_form = PostForm()
context = {'post_form': post_form}
data['html_post_form'] = render_to_string('project/post_add.html', context, request=request)
return JsonResponse(data)
6)
post_add.html:{% load widget_tweaks %}
{{ post_form.media }}
<form method="post" action="">
{% csrf_token %}
{% for field in post_form %}
{% render_field field class="form-control" %}
{% endfor %}
<button type="submit">Create</button>
</form>
<script type="text/javascript" src="{% static "ckeditor/ckeditor-init.js" %}"></script>
<script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>
P.S. Если убрать из INSTALLED_APPS
ckeditor_uploader, то загрузка через интернет работает. Но как добавить возможность загружать из компьютера?