Подтвердить что ты не робот

Как использовать менеджер пакетов bower в приложении Django?

Я новичок в структуре Django, и я прочитал, что "статические" файлы, такие как css и js, должны находиться внутри "статического" каталога, но мой вопрос:

Учитывая, что менеджер пакетов bower устанавливает свои зависимости в новый каталог с именем bower_components в текущем каталоге, bower.json должен быть создан в "статическом" каталоге django? и если это правда, не bower.json экспортируется с помощью команды collectstatic? (что-то может не понадобиться)

Каков рекомендуемый способ работы с базой данных и Django?

Update:

Спасибо Yuji 'Tomita' Tomita, ваш ответ может дать больше перспективы. Я хочу использовать беседу для управления внешними зависимостями, такими как jQuery, bootstrap и т.д., Как вы видите, логикой должно быть внутри каталога static/django, но сделать это таким образом, может привести к тому, что bower.json будет рассматриваться как статический ресурс, что-то может не понадобиться.

4b9b3361

Ответ 1

Я выполнил это сообщение в блоге, чтобы настроить проект django bower:

Структура проекта:

|-root
  |-app
     |-assets
     |-static
     |-templates
     |settings.py
     |urls.py
     |views.py
     |wsgi.py
  |manage.py
  |bower.json
  |.bowerrc

Мой .bowerrc:

{
    "directory": "app/static/bower_components"
}

И мои пользовательские компоненты, такие как:

<script src="{{ STATIC_URL }}bower_components/angular/angular.js"></script>

Мой settings.py:

STATIC_URL = '/static/'
STATIC_ROOT = join(BASE_DIR, 'assets')
STATICFILES_DIRS = [join(BASE_DIR, 'static')]

Также urls.py:

urlpatterns += patterns('',
                        (r'^static/(?P<path>.*)$', 'django.views.static.serve',
                         {'document_root': settings.STATIC_ROOT}),)

Ответ 2

Нет рекомендуемого способа - это зависит от вашего проекта. Если вы используете bower, node для большего, чем проект django, имеет смысл разместить его в корне вашего проекта (выше django), чтобы его можно было повторно использовать в другом месте.

Если это чисто для статических файлов django, тогда имеет смысл разместить его в src/ вне системы staticfiles, которая строит в статическом каталоге, который экспортируется через collectstatic.

Ответ 3

Вы должны указать установленные пакеты bower в settings.py, используя ключ BOWER_INSTALLED_APPS.

Теперь на вашем сервере разработки, используя {% static%} templatetag, находит их из своего установленного каталога. На рабочем сервере сборщик будет собирать правильные статические файлы из установленного каталога (bower_components).

Подробнее: http://django-bower.readthedocs.org/en/latest/usage.html

Ответ 4

Если вы боитесь включения bower.json, команда collectstatic имеет параметр --ignore, который вы можете использовать, чтобы исключить все, что хотите.

Ответ 5

Нет необходимости в таких приложениях, как django-bower или других специализированных инструментах, которые занимают ресурсы сервера, замедляют время сборки и значительно ограничивают полезность беседки. Особенно, когда у вас есть вложенные приложения django со своими зависимостями в беседке.

Вы можете проверить мой учебник о том, как легко интегрировать Django + Bower + Heroku здесь. Учебник нацелен на геройку, эта методология применима к любому сценарию развертывания.