Мне нужна помощь, чтобы понять, почему я не могу скомпилировать 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
, который ничего не изменится.
С уважением Доминик
Вы пытались удалить этот бит кода в поисках «теста», чтобы узнать, что произойдет? – onyeka
@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