
рдХрдИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрд░ рдЪрдврд╝рдиреЗ рдФрд░ рдЬреЗрдПрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдердХ рдЧрдП рд╣реИрдВред рд╣рд╛рдБ, рдФрд░ рдПрдХ рдмрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪреЗрдВ, рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЧрд▓рдд рд╕рдВрд╕реНрдХрд░рдг рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдБ
рдмреЛрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХреА рдЬрд╛рддреА рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде, рдмрд╣реБрдд, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ
components
рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ
bower install
рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред
requirements.txt
рд╕рд╛рде
pip
рдмрд╛рджред рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрд▓рд╕реА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЗ рдкрд╛рд╕
django-bower рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ
settings
рдХреА рд╕реВрдЪреА рд╕реЗ
settings
рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░
staticfiles
рд╕рд╛рде рдкрд╛рд░рджрд░реНрд╢реА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИред
рд╕реНрдерд╛рдкрдирд╛
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмреЛрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдирд┐рд░реНрджреЗрд╢
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИрдВ ред
рдЖрдкрдХреЛ
django-bower
рд╕реЗ
django-bower
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
pip install django-bower
settings
рдореЗрдВ
INSTALLED_APPS
рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝реЗрдВ:
'djangobower',
рдЗрд╕реЗ
STATICFILES_FINDERS
рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
'djangobower.finders.BowerFinder',
рдФрд░
components
рдХреЛ рдкрде рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ - рд╡рд╣ рд╕реНрдерд╛рди рдЬрд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдкрде рдирд┐рд░рдкреЗрдХреНрд╖ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
BOWER_COMPONENTS_ROOT = '/PROJECT_ROOT/components/'
рдЖрдк
рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЗ рдЙрдкрдпреЛрдЧ
рд╕рдВрдХреБрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ
settings
рдореЗрдВ
BOWER_INSTALLED_APPS
рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
BOWER_INSTALLED_APPS = ( 'jquery#2', 'underscore', )
рдФрд░ рдЙрдиреНрд╣реЗрдВ
bower_install
рдХрдорд╛рдВрдб
bower_install
рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рдмрд╛рдж рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
./manage.py bower_install
рдЕрдм рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
{% load static %} <script type="text/javascript" src='{% static 'jquery/jquery.js' %}'></script>
рдЙрддреНрдкрд╛рджрди рдореЗрдВ,
bower_install
рд╕реЗ рдкрд╣рд▓реЗ
bower_install
рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
./manage.py bower_install ./manage.py collectstatic
рддрдп рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде
BOWER_INSTALLED_APPS
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
bower_freeze
рдЙрдкрдпреЛрдЧ
bower_freeze
:
./manage.py bower_freeze