Django CMS - unable to upload images via cmsplugin_filer_image

I have a problem with local installation on django cms 2.3.3: I installed it via pip in a separate virtualenv. The next one I followed the settings.py configuration tutorial, I started the server. Then in the admin I created the page (home) and I tried to add the image to the placeholder via cmsplugin_filer_image, but the download seems that this will not work. here are my settings.py:

# Django settings for cms1 project. # -*- coding: utf-8 -*- import os gettext = lambda s: s PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) DEBUG = True TEMPLATE_DEBUG = DEBUG ADMINS = ( # ('Your Name', ' your_email@example.com '), ) MANAGERS = ADMINS DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'cms1', # Or path to database file if using sqlite3. 'USER': 'cms', # Not used with sqlite3. 'PASSWORD': 'cms', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. } } # Local time zone for this installation. Choices can be found here: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # although not all choices may be available on all operating systems. # In a Windows environment this must be set to your system time zone. TIME_ZONE = 'Europe/Rome' # Language code for this installation. All choices can be found here: # http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE = 'it-it' SITE_ID = 1 # If you set this to False, Django will make some optimizations so as not # to load the internationalization machinery. USE_I18N = True # If you set this to False, Django will not format dates, numbers and # calendars according to the current locale. USE_L10N = True # If you set this to False, Django will not use timezone-aware datetimes. USE_TZ = True # Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/home/media/media.lawrence.com/media/" MEDIA_ROOT = os.path.join(PROJECT_PATH, "media") # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: "http://media.lawrence.com/media/", "http://example.com/media/" MEDIA_URL = '/media/' # Absolute path to the directory static files should be collected to. # Don't put anything in this directory yourself; store your static files # in apps' "static/" subdirectories and in STATICFILES_DIRS. # Example: "/home/media/media.lawrence.com/static/" STATIC_ROOT = os.path.join(PROJECT_PATH, "static") STATIC_URL = "/static/" # Additional locations of static files STATICFILES_DIRS = ( os.path.join(PROJECT_PATH, "static_auto"), # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. ) # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', ) # Make this unique, and don't share it with anybody. SECRET_KEY = '^c2q3d8w)f#gk%5i)(#i*lwt%lm-!2=(*1d!1cf+rg&-hqi_9u' # List of callables that know how to import templates from various sources. TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', # 'django.template.loaders.eggs.Loader', ) MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'cms.middleware.multilingual.MultilingualURLMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.user.CurrentUserMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', # Uncomment the next line for simple clickjacking protection: # 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) ROOT_URLCONF = 'cms1.urls' # Python dotted path to the WSGI application used by Django runserver. WSGI_APPLICATION = 'cms1.wsgi.application' TEMPLATE_DIRS = ( os.path.join(PROJECT_PATH, "templates"), # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. ) CMS_TEMPLATES = ( ('template_1.html', 'Template One'), ('template_2.html', 'Template Two'), ) TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.request', 'django.core.context_processors.media', 'django.core.context_processors.static', 'cms.context_processors.media', 'sekizai.context_processors.sekizai', ) LANGUAGES = [ ('it', 'Italiano'), ('en', 'English'), ] INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'cms', #django CMS itself 'mptt', #utilities for implementing a modified pre-order traversal tree 'menus', #helper for model independent hierarchical website navigation 'south', #intelligent schema and data migrations 'sekizai', #for javascript and css management #'cms.plugins.file', 'cms.plugins.flash', 'cms.plugins.googlemap', 'cms.plugins.link', #'cms.plugins.picture', 'cms.plugins.snippet', 'cms.plugins.teaser', 'cms.plugins.text', #'cms.plugins.video', 'cms.plugins.twitter', 'filer', 'cmsplugin_filer_file', 'cmsplugin_filer_folder', 'cmsplugin_filer_image', 'cmsplugin_filer_teaser', 'cmsplugin_filer_video', 'easy_thumbnails', 'PIL', # Uncomment the next line to enable the admin: 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', ) # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. # See http://docs.djangoproject.com/en/dev/topics/logging for # more details on how to customize your logging configuration. LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse' } }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' } }, 'loggers': { 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, } } 

when I try to upload an image, in the clipboard section I don't have a thumbnail, but just the message 'undefined:

enter image description here

and this is the launch server console when trying to load:

 [20/Oct/2012 15:15:56] "POST /admin/filer/clipboard/operations/upload/?qqfile=29708_1306856312320_7706073_n.jpg HTTP/1.1" 500 248133 [20/Oct/2012 15:15:56] "GET /it/admin/filer/folder/unfiled_images/undefined HTTP/1.1" 301 0 [20/Oct/2012 15:15:56] "GET /it/admin/filer/folder/unfiled_images/undefined/ HTTP/1.1" 404 1739 

In addition, this is the project file system:

 cms1 β”œβ”€β”€ cms1 β”‚  β”œβ”€β”€ __init__.py β”‚  β”œβ”€β”€ __init__.pyc β”‚  β”œβ”€β”€ media β”‚  β”‚  └── filer_public β”‚  β”‚  └── 2012 β”‚  β”‚  └── 10 β”‚  β”‚  └── 20 β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_1.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_2.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_3.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_4.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_5.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_6.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n_7.jpg β”‚  β”‚  β”œβ”€β”€ 29708_1306856312320_7706073_n.jpg β”‚  β”‚  └── torrent-client-macosx.jpg β”‚  β”œβ”€β”€ settings.py β”‚  β”œβ”€β”€ settings.pyc β”‚  β”œβ”€β”€ static β”‚  β”œβ”€β”€ static_auto β”‚  β”œβ”€β”€ static_manual β”‚  β”œβ”€β”€ templates β”‚  β”‚  β”œβ”€β”€ base.html β”‚  β”‚  β”œβ”€β”€ template_1.html β”‚  β”‚  └── template_2.html β”‚  β”œβ”€β”€ urls.py β”‚  β”œβ”€β”€ urls.pyc β”‚  β”œβ”€β”€ wsgi.py β”‚  └── wsgi.pyc └── manage.py 

So, the files are uploaded, but they are not available for cms. there is a similar question , but they don’t help me that way. It would be very helpful to help me in this matter.

Thanks luke

+6
source share
3 answers

This error is because you installed PIL without JPEG / PNG support. you will need to install the following packages

 sudo apt-get install python-imaging python-dev libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev 

Then uninstall PIL pip uninstall PIL

I suggest installing a pillow instead of PIL using pip install pillow . be sure to read the log after installation, it should say that JPEG and PNG are supported.

Console log

+9
source

Rather, the "old" question is in the Stackoverflow temporary space, but I had the same problem.

And bazaretas pointed me in the right direction, but I missed the point in my setup.

I installed Pillow instead of PIL, but one of my other requirements packages depended on PIL (in its setup.py), and thus PIP also installed PIL. But PIL has problems with the distribution and virtualenv, so it did not capture devel packages to support all formats.

The incriminated package was xhtml2pdf for me.

Check your addiction or find a way to install PIL in advance in your vein (i.e. here , here or there ).

0
source

The same problem for me - I had PIL and Pillow installed, and the problem arose when both booted, but only on some virtual machines. I found that everything works fine on my local Mac dev and my local VirtualOS virtual virtual machine, but an error occurred on the Amazon CentOS 64-bit box. I could never get it to work with a pillow on all three (using Pillow 2.2.2 and PIL 1.1.7).

I took Pillow from the requirements.txt and instead used only PIL. I use this chef recipe to install PIL first, and it works well on all Amazon and all tested boxes:

 #!/usr/bin/env bash sudo apt-get build-dep python-imaging sudo ln -s -f /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/ sudo ln -s -f /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/ sudo ln -s -f /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/ 
0
source

Source: https://habr.com/ru/post/928176/


All Articles