python django bower

python - ¿Cómo usar el gestor de paquetes Bower en la aplicación Django?



(5)

Debería enumerar los paquetes instalados en la configuración.py usando la tecla BOWER_INSTALLED_APPS.

Ahora, en su servidor de desarrollo, utilizando el {% static%} templatetag los encuentra en su directorio instalado. En el servidor de producción, collectstatic recopilará los archivos estáticos correctos del directorio instalado (bower_components).

Ver más: http://django-bower.readthedocs.org/en/latest/usage.html

Soy nuevo en el marco de Django y he leído que los archivos ''estáticos'' como css y js deben estar dentro del directorio ''estático'', pero mi pregunta es:

Dado que bower package manager instala sus dependencias en un nuevo directorio llamado bower_components en el directorio actual, ¿se debe crear bower.json en el directorio django ''estático''? y si es cierto, ¿no se exporta bower.json con el comando collectstatic? (algo podría no querer)

¿Cuál es la forma recomendada de trabajar con Bower y Django Framework?

Actualizar:

Gracias Yuji ''Tomita'' Tomita, tu respuesta puede dar más perspectiva. Quiero usar Bower solo para administrar las dependencias de front-end como jQuery, bootstrap, etc., como puede ver, la lógica debe estar dentro del directorio static / django, pero hacerlo de esa manera, puede hacer que bower.json se trate como Un recurso estático, algo podría no querer.


No hay necesidad de aplicaciones como django-bower u otras herramientas especializadas que ocupan los recursos del servidor, reducen el tiempo de compilación y limitan en gran medida la utilidad de bower. Especialmente, cuando tienes aplicaciones django anidadas con sus propias dependencias Bower.

Puedes ver mi tutorial sobre cómo integrar perfectamente Django + Bower + Heroku here . Aunque este tutorial se dirige a heroku, la metodología se aplica a cualquier escenario de implementación.


No hay una forma recomendada, depende de tu proyecto. Si está utilizando bower, nodo para más que el proyecto django, podría tener sentido colocarlo en la raíz de su proyecto (arriba de django) para que pueda reutilizarse en otro lugar.

Si es solo para archivos estáticos de django, entonces podría tener sentido colocarlo en un src/ fuera del sistema de staticfiles que se genera en el directorio estático que se exporta a través de collectstatic.


Seguí this publicación de blog para configurar mi proyecto django bower:

Estructura del proyecto:

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

Mi .bowerrc :

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

Y los componentes de usuario Bower como este:

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

Mi settings.py :

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

También urls.py :

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


Si tiene miedo de que se incluya bower.json, el comando collectstatic tiene una opción --ignore que puede usar para excluir lo que quiera.