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

У вас есть идеи, как решить эту проблему? Спасибо!

0 ответов

Другие вопросы по тегам