2012-01-11 6 views
1

Недавно я попытался добавить webassets к моему проекту django. Все идет без проблем в разработке (с django runningerver). Все js и css сжаты beign, когда я устанавливаю параметры var ASSETS_DEBUG в False.Странный конфликт с развертыванием проекта django с django_assets

Проблема возникает, когда я просматриваю свой проект из развернутой структуры (apache + mod_wsgi). Исключение возникает из django_assets, который дает мне следующее сообщение:

RegisterError: Еще один пакет уже зарегистрирован как «js_all»:], contents = ('js/jquery-1.6.3.min.js', 'js/jquery-ui-1.8.16.custom.min.js ',' js/jquery-ui-timepicker-addon.js ',' js/ui.datepicker-es.js ',' js/tiny_mce/tiny_mce.js ' , 'js/tiny_mce_config.js', 'js/public.js')>

Невозможно найти причину этого исключения, не выбрасываемого в разработку. Ниже мой файл активов:

from django_assets import Bundle, register 
js = Bundle(
    'js/jquery-1.6.3.min.js', 
    'js/jquery-ui-1.8.16.custom.min.js', 
    'js/jquery-ui-timepicker-addon.js', 
    'js/ui.datepicker-es.js', 
    'js/tiny_mce/tiny_mce.js', 
    'js/tiny_mce_config.js', 
    'js/public.js', 
    filters='yui_js', 
    output='js/gen/packed.js' 
    ) 
register('js_all', js) 

css = Bundle(
    'css/smoothness/jquery-ui-1.8.16.custom.css', 
    'css/jquery_ui_fixes.css', 
    'css/public.css', 
    'css/forms.css', 
    filters='yui_css', 
    output='css/gen/packed.css', 
    ) 
register('css_all', css) 

Webassets версия используется один в пип хранилище: версия = (0, 6)

Я надеюсь, что кто-то сможет мне помочь.

Исаак

+0

Вы уверены, что это не импортируется дважды? Попробуйте прокомментировать регистр («js_all», js) и посмотрите, есть ли у вас вторая ошибка для «css_all». – Ted

ответ

2

Из-за какой-то глупости с Django, файл settings.py можно импортировать в два раза. Таким образом, регистрация будет происходить дважды. Читайте:

http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

для всех ужасных подробностях этого вопроса.

+0

Возможно, это полезно добавить к вашему ответу, что из-за этой глупости вам придется поймать RegisterError с помощью попробуйте кроме блока вокруг вызова регистра. – jaapz

+0

В последних версиях Django этот двойной импорт не должен быть проблемой, если вы сами каким-то образом его запускаете. –

Смежные вопросы