Search code examples
pythondjangockeditorimage-upload

Django ckeditor image upload - Error 403 when trying to upload images


I've looked through all the questions regarding image upload with django ckeditor but I can't find the solution to my problem.

I'm trying to enable image upload for my posts with django ckeditor but it seems I've got a problem, as I'm getting a 403 error when trying to upload them. Also, if I click on see server I get a 404 error, see screenshot screenshot 1screenshot 2

This is my code:

urls.py

   urlpatterns = [
    url(r'^admin/', admin.site.urls),

    url(r'', include('pages.urls')),

    url(r'', include('blog.urls')),

    url(r'', include('staticpages.urls')),

    url(r'', include('shop.urls')),

    url(r'^ckeditor/', include('ckeditor_uploader.urls')),
] 

settings.py

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',
    'blog',
    'pages',
    'shop',
    'staticpages',
    'ckeditor',
    'ckeditor_uploader',
]
    # Static files (CSS, JavaScript, Images)
    # https://docs.djangoproject.com/en/2.0/howto/static-files/

    STATIC_URL = '/static/'
    STATICFILES_DIRS = ( os.path.join('static'), )
    STATIC_ROOT = "/home/username/myweb/static"

    # Media config

    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')


    ####################################
        ##  CKEDITOR CONFIGURATION ##
    ####################################

    CKEDITOR_JQUERY_URL = 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'

    CKEDITOR_UPLOAD_PATH = 'uploads/'
    CKEDITOR_IMAGE_BACKEND = "pillow"


    CKEDITOR_IMAGE_BACKEND = "pillow"

    CKEDITOR_CONFIGS = {
        'default': {
            'toolbar': None,
        },
    }

models.py

from django.db import models
from django.utils.timezone import now
from django.urls import reverse
from ckeditor_uploader.fields import RichTextUploadingField

# Create your models here.

class StaticPage(models.Model):
    title = models.CharField(max_length=300, verbose_name="Title tag")
    description = models.CharField(max_length=300, blank=True, verbose_name="Description tag")
    slug_staticpage = models.SlugField(max_length=200, unique=True)
    h1 = models.CharField(max_length=300, blank=True, verbose_name="H1")
    content = RichTextUploadingField(blank=True, verbose_name="Contenido")
    published = models.DateTimeField(verbose_name="Publicado", default=now())
    created = models.DateField(auto_now_add=True, verbose_name="Creado")
    updated = models.DateTimeField(auto_now=True, verbose_name="Actualizado")

What am I doing wrong? I've followed the documentations but still I cannot figure out what's not working.

Thanks to this wonderful community for your support and help :)

Askew


Solution

  • i also had same problem. But i solve that after 3 hours. Add ckeditor url to top of all urls. it's work for me

    urlpatterns = [
    
        url(r'^ckeditor/', include('ckeditor_uploader.urls')),
    
        url(r'^admin/', admin.site.urls),
    
        url(r'', include('pages.urls')),
    
        url(r'', include('blog.urls')),
    
        url(r'', include('staticpages.urls')),
    
        url(r'', include('shop.urls')),
    
    
    ]