Django Pipeline - Ошибка при рендеринге шаблона - неверный синтаксис
Я использую Django 1.8.2 с django-pipeline 1.5.1 и Python 3.4
Я следовал инструкциям по установке, предоставленным авторами этого инструмента. На моей локальной машине с предоставленным сервером разработки все работает нормально. Но когда я пытаюсь развернуть его на рабочем сервере под управлением Apache2 с mod_wsgi4.4.13, я получаю эту ошибку:
SyntaxError at /
invalid syntax (_base.py, line 355)
Error during template rendering
In template /var/www/django/templates/base.html, error at line 13
invalid syntax
12 {% load pipeline %}
13
{% stylesheet 'vendor' %}
14 {% stylesheet 'master' %}
15 {% javascript 'vendor' %}
16 {% javascript 'master' %}
Очевидно, Apache не знает, что делать с ключевым словом stylesheet
, Должен сказать, что ранее сайт работал отлично. Но с django-pipel я получаю эту ошибку.
Моя конфигурация конвейера выглядит так:
settings.py
DEBUG = True
INSTALLED_APPS = (
'pipeline',
...
)
MIDDLEWARE_CLASSES = (
'pipeline.middleware.MinifyHTMLMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder',
)
PIPELINE_COMPILERS = (
'pipeline.compilers.sass.SASSCompiler',
)
PIPELINE_CSS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor'
PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor'
PIPELINE_CSS = {
'master': {
'source_filenames': (
'css/*.sass',
),
'output_filename': 'compressed/master.css',
'extra_context': {
'media': 'screen, projection',
},
},
'vendor': {
'source_filenames': (
'assets/bootstrap/css/bootstrap.min.css',
'assets/bootstrap/css/bootstrap-theme.min.css',
'assets/bootswatch/bootswatch.min.css',
),
'output_filename': 'compressed/vendor.css'
}
}
PIPELINE_JS = {
'master': {
'source_filenames': (
'js/*.js',
),
'output_filename': 'compressed/master.js'
},
'vendor': {
'source_filenames': (
'assets/jquery/jquery.min.js',
'assets/bootstrap/js/bootstrap.min.js',
),
'output_filename': 'compressed/vendor.js'
}
}
Моя проблема в том, что я убежден, что django-pipe правильно установлен и настроен, но на моем рабочем сервере я получаю эту ошибку.
Сжатие и обслуживание файлов CSS и JS правильно работает на локальном компьютере. Поэтому django-pipel не может быть сильно неверно настроен.
Производственный сервер
- Убунту 14.04
- Последний Apache 2.4.7
- Python 3.4
- Django и все приложения, установленные в Virtualenv
- mod_wsgi 4.4.13
Выдержка из Virtualhost
WSGIDaemonProcess django python-path=/var/www/django:/usr/local/share/virtualenvs/django/lib/python3.4/site-packages
WSGIProcessGroup django
WSGIScriptAlias /django /var/www/django/core/wsgi.py
WSGISocketPrefix /var/run/apache2/wsgi
У вас есть идеи, как решить эту проблему? Спасибо!