2015-05-21 2 views
0

Мне нужна помощь, чтобы понять, почему я не могу скомпилировать SASS для производственной среды с помощью приложения django-sass-processor. Я ищу все мои шаблоны, и все же я не могу найти ссылки на тестовый шаблон. Я использую:django.template.base.TemplateDoesNotExist: test using sass_processor

Django==1.7.7 
django-sass-processor==0.2.2 
django-compressor==1.5 

при попытке запустить следующую команду, представленные Джанго-Сасс-процессор:

python manage.py compilescss 

Я получаю эту ошибку:

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/sass_processor/management/commands/compilescss.py", line 28, in handle 
    templates = self.find_templates() 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/sass_processor/management/commands/compilescss.py", line 39, in find_templates 
    for loader in self.get_loaders(): 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/sass_processor/management/commands/compilescss.py", line 68, in get_loaders 
    finder_func('test') 
    File "~/virtualenvs/blog/lib/python2.7/site-packages/django/template/loader.py", line 136, in find_template 
    raise TemplateDoesNotExist(name) 
django.template.base.TemplateDoesNotExist: test 

При поиске в коде он проходит по линии 61 от compilescss.py (https://github.com/jrief/django-sass-processor/blob/master/sass_processor/management/commands/compilescss.py)

from django.template.loader import (
       find_template as finder_func) 

, а затем он не в строке 68 того же файла, который в попытке поймать

try: 
     # Force Django to calculate template_source_loaders from 
     # TEMPLATE_LOADERS settings, by asking to find a dummy template 
     finder_func('test') 
    except TemplateDoesNotExist: 
     pass 

Можете ли вы помочь мне понять, почему это происходит?

Мои настройки:

# in INSTALLED_APPS 
'sass_processor', 
'compressor', 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    'compressor.finders.CompressorFinder', 
    'sass_processor.finders.CssFinder', 
) 

COMPRESS_PRECOMPILERS = (
    ('text/x-scss', 'django_libsass.SassCompiler'), 
) 

COMPRESS_ENABLED = False 
COMPRESS_OFFLINE = True 
SASS_PROCESSOR_ENABLED = True 
SASS_PROCESSOR_ROOT = STATIC_ROOT + '/sass' 



TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
) 

Я даже попытался установить SASS_PROCESSOR_ENABLED = False, который ничего не изменится.

С уважением Доминик

+0

Вы пытались удалить этот бит кода в поисках «теста», чтобы узнать, что произойдет? – onyeka

+0

@onyeka да следующая ошибка, которую он возвращает, '' для loader в template_source_loaders: TypeError: объект «NoneType» не является итерабельным'', я думаю, что первый импорт, который получает глобальный '' из django.template.loader import template_source_loaders '' установлено значение None прямо в django, но похоже, что после этого он никогда не инициализируется ничем другим. Я открыл проблему на github https://github.com/jrief/django-sass-processor/issues/4, потому что я не очень хорошо знаком с TEMPLATE_LOADERS. С уважением – DoRivard

ответ