Django-compressor: Heroku . рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдорд╛рд░реНрдЪ 2014  ┬╖  24рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: django-compressor/django-compressor

рд╡реЗрдм рдкрд░ рдЦреЛрдЬ рдХрд░рдирд╛ рдЙрд╕рдХреЗреЛрдХреВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдПрд╕ 3 рдкрд░ рд╕рдм рдХреБрдЫ рдбрд╛рд▓рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣рд░реЛрдХреВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрдврд╝рд╛: http://django-compressor.readthedocs.org/en/latest/remote-storages/
рдЬреЛ рд╕рдм рдареАрдХ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдХрд▓реЗрдХреНрдЯрд┐рд╡, рдХрдВрдкреНрд░реЗрд╕, рджреЛрдиреЛрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ? рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рдХреНрдпрд╛ рдореИрдВ рд╣рд░реЛрдХреВ рдкреБрд╢ рд╣реБрдХ рдХреЛ рдореЗрд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реВрдВ? рдпрд╛ рдХреНрдпрд╛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕рдХреЗреЛрдХреВ рд╕рдВрдЧреНрд░рд╣рдгреАрдп рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд░реЛрдХреВ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡реИрд╕реЗ рднреА рдХрдо рдФрд░ рд╕рд╣ рдирд╣реАрдВ рд╣реИред

рддреЛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдмрдЧ рд╣реЛрдЧрд╛: http://django-compressor.readthedocs.org/en/latest/remote-storages/

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдпрд╣ рдЙрд╕рдХреЗреЛрдХреВ рдкрд░ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдк рд╕рдм рдХреБрдЫ рдСрдлрд╝рд▓рд╛рдЗрди рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?

рд╣реЗрд░реЛрдХреВ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдиреЛрдб рдФрд░ рдХрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпреЗ рд▓реЗрдЦ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:
http://marklmiddleton.com/2013/using-less-with-django-on-heroku/
http://www.sore.nu/blog/2012/dec/30/fieldguide-django-bootstrap-less-coffeescript-and-/

рдХреНрдпрд╛ рдореБрдЭрд╕реЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдЫреВрдЯ рд░рд╣рд╛ рд╣реИ? рдХрд▓ рдЗрд╕ рдкрд░ рдЖрдзрд╛ рджрд┐рди рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рд╣рд╛рд░ рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ (рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдорд╛рдирдХ рдлреНрд░рдВрдЯ рдПрдВрдб рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ)ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ dyno рдкреБрдирд░рд╛рд░рдВрдн рдмрдЪ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореЗрд░реЗ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдереЗ 1) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реА рд╕рдВрдкрддреНрддрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдкреВрд░реА рд░реВрдмреА/рдЬреЗрдПрд╕ рдмрд┐рд▓реНрдбрдкреИрдХ рд╕реНрдерд┐рддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; 2) S3 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; 3) рдпрд╣ рд╕реНрдерд╛рдиреАрдп рдХрджрдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрдЬрд╛рдп рддреИрдирд╛рддреА рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП:

1) рд╣рд░реЛрдХреВ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред

2) рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ django-libsass рдЬреЛрдбрд╝реЗрдВред

3) рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ:

INSTALLED_APPS += ('compressor',)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',
)

COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True

COMPRESS_PRECOMPILERS = (
    ('text/x-sass', 'django_libsass.SassCompiler'),
    ('text/x-scss', 'django_libsass.SassCompiler'),
)

4) рдПрдХ bin/post_compile рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕рдореЗрдВ

python manage.py compress
python manage.py collectstatic --noinput

(рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ_рдХрдВрдкрд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреНрд╖рдгрд┐рдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рдЬрд╣ рд╕реЗ рд░рд┐рд▓реАрдЬ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╕рдВрдкреАрдбрд╝рди рдХреЗ рджреМрд░рд╛рди рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЗрдирд░реЗрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд░рд┐рд▓реАрдЬ рдХрд╛рд░реНрдп рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдкрд░ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдЯрд┐рдХреЗрдВрдЧреАред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдкреЛрд╕реНрдЯ_рдХрдВрдкрд╛рдЗрд▓ рдореЗрдВ рдЪрд▓рд╛рдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрдиреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред)

рд╕рднреА 24 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрдЧ рдирд╣реАрдВ;)

рд▓реЗрдХрд┐рди рдХрдИ рд╕рд╡рд╛рд▓ рдереЗ;)

  • рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдб-рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдореИрдВ рдЙрд╕рдХреЗреЛрдХреВ рдкрд░ рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП dj-static (рдЬреИрд╕рд╛ рдХрд┐ рд╣рд░реЛрдХреВ рдбреЙрдХреНрд╕ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ) рдпрд╛ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред
  • рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЬрдм рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рджрдмрд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рд░реЛрдХреВ рдЖрдкрдХреЗ рд▓рд┐рдП collectstatic рдЪрд▓рд╛рддрд╛ рд╣реИ
  • рдпрджрд┐ рдЖрдк рдСрдлрд╝рд▓рд╛рдЗрди-рд╕рдВрдкреАрдбрд╝рди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ post_compile рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ ( рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ) рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реЗрдХ рдЪрд▓рд╛рддрд╛ рд╣реИ
  • рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди-рд╕рдВрдкреАрдбрд╝рд┐рдд рди рдХрд░реЗрдВ, рд╣рд░реЛрдХреВ рдХреЛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рджреЗрдВред
  • рд╣рд░реЛрдХреВ рдкрд░ lessc рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдХрд╛рдо рд╣реИ, рдореБрдЭреЗ Google рдкрд░ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рд╣реЛрдЧреА .. рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рд▓рд┐рдВрдХ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо post_compile рд╕реНрдХреНрд░рд┐рдкреНрдЯ)ред

рдКрдкрд░ рджрд┐рдП рдЧрдП рдЕрдиреБрднрд╛рдЧ рдореЗрдВ "рд╕реНрдЯреИрдЯрд┐рдХрдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛" рдХреЗ рддрд╣рдд рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдирд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рдмрдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЙрд╕рдХреЗреЛрдХреВ рдкрд░ рд▓реЗрд╕рд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рджреА рдЧрдИ рдкреЛрд╕реНрдЯ_рдХрдВрдкрд╛рдЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдзреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдердХрд╛рдК рд╣реИ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдХреБрдЫ рдФрд░ рдХрд┐рдЪрди рд╕рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдЕрднреА рднреА рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИ, рдЗрд╕ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ: http://django-compressor.readthedocs.org/en/latest/remote-storages/
рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреИрдЪ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдореИрдВрдиреЗ django-skel рдХрд╛ рдПрдХ рдХрд╛рдВрдЯрд╛ рдмрдирд╛рдпрд╛ рдЬреЛ django-compressor, scss рд╕рдВрдХрд▓рди, рдмреЛрд╡рд░ рдФрд░ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдЗрд╕реЗ рдЙрд╕рдХреЗреЛрдХреВ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА!

@therippa : рдореБрдЭреЗ рднреА рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред

рдХрдВрдкреНрд░реЗрд╕рд░ рдХрд╛ рдСрдирд▓рд╛рдЗрди рдореЛрдб рд╣реЗрд░реЛрдХреВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдРрдк рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрд╕ рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ (рдореБрджреНрджрд╛ # 680 рдкрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ)ред рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрдВрдкреНрд░реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╣реЗрд░реЛрдХреВ рдХреЗ рдкреЛрд╕реНрдЯ рд╕рдВрдХрд▓рди рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрдк рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ python manage.py compress рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣реЗрд░реЛрдХреВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд╕рдВрдЧреНрд░рд╣ рдЪрд▓рд╛рдПрдЧрд╛ рддрд╛рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рди рд╣реЛред рдореБрдЭреЗ рдЙрд╕рдХреЗреЛрдХреВ-рдбреАрдЬреЗрдВрдЧреЛ-рдХреБрдХрдмреБрдХ рдорджрджрдЧрд╛рд░ рд▓рдЧрд╛ред рдореИрдВ рдЕрдкрдиреЗ Django/Heroku рдРрдк рдкрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдиреЛрдб рдЖрджрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреЛрд╕реНрдЯ рдХрдВрдкрд╛рдЗрд▓ рд╣реБрдХ, рдПрдХ рдХрд╕реНрдЯрдо рдкрд╛рдЗрдк рдкреИрдХреЗрдЬ, рдпрд╛ рдПрдХ рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдб рдкреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯ рд╕рдВрдХрд▓рди рд╣реБрдХ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ sekizai рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА, рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рддрдп рд╣реЛ рдЧрдИ рд╣реИ, рдЬреЛ рдХрд┐ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ: https://gist.github.com/Chronial/45ce9f33615a3b24c51f

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЙрд╕рдореЗрдВ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реЛ рдФрд░ рд╢реНрд╡реЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдкреАрдЖрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реЛ? :)

рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдкреНрд░реА-рдЬреЗрдирд░реЗрд╢рди рдпрд╛ рдЙрд╕рдХреЗреЛрдХреВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ post_build рд╣реБрдХ рдореЗрдВ рдХреБрдЫ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

Whitenoise рдбреЙрдХреНрд╕ http://whitenoise.evans.io/en/stable/django.html#django -compressor рдкрд░ django-compressor рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ

рдареАрдХред рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХрд┐рдпрд╛!
рдореЗрд░реА рд░реВрдЯ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЙрд░реНрдл рд░реЗрдкреЛ) рдХреЗ рдЕрдВрджрд░ рдореИрдВрдиреЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдИ bin/ рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ post_compile рдирд╛рдо рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓ред post_compile рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдореИрдВрдиреЗ рдЗрди рдбреЗрдЯрд╛ рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВрдиреЗ git add --all , git commit -m 'testing post_receive hook in Heroku' , git push heroku master рдХрд┐рдпрд╛ред
рд╣реЗрд░реЛрдХреВ рджреНрд╡рд╛рд░рд╛ collectstatic рдХрдорд╛рдВрдб рдХреЗ рдСрдЯреЛ-рд░рди рдХреЗ рдмрд╛рдж, рдЗрд╕рдиреЗ python manage.py compress рдЪрд▓рд╛рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдИ рдЬрд┐рд╕рдореЗрдВ рдореЗрд░реА рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдереАрдВ!

remote:      $ python manage.py collectstatic --noinput
remote:        1247 static files copied to '/app/staticfiles'.
remote: 
remote: -----> Running post-compile hook
remote: -----> Compressing static files
remote:        Found 'compress' tags in:
remote:         /app/templates/base/base.html
remote:         /app/templates/info/areas.html
remote:         /app/templates/info/profile.html
remote:        Compressing... done
remote:        Compressed 1 block(s) from 3 template(s) for 1 context(s).

рдпрджрд┐ рдЖрдк OfflineCompressionErrors рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ https://github.com/django-compressor/django-compressor/issues/443 рднреА рджреЗрдЦреЗрдВ рдЬрд╣рд╛рдВ рд▓реЛрдЧ рдЕрдзрд┐рдХ рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛рддреЗ рд╣реИрдВред

# 831 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╡рд╣ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдореЗрдирд┐рдлреЗрд╕реНрдЯ.рдЬреЗрд╕рди рд╕рд╣рд┐рдд рдЙрд╕рдХреЗреЛрдХреВ рдореЗрдВ рдзрдХреЗрд▓ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ S3 рдирд╣реАрдВред

рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ рдЬреЛ рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: https://github.com/django-compressor/django-compressor/issues/855#issuecomment -303294202

рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ dyno рдкреБрдирд░рд╛рд░рдВрдн рдмрдЪ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореЗрд░реЗ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдереЗ 1) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реА рд╕рдВрдкрддреНрддрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдкреВрд░реА рд░реВрдмреА/рдЬреЗрдПрд╕ рдмрд┐рд▓реНрдбрдкреИрдХ рд╕реНрдерд┐рддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; 2) S3 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; 3) рдпрд╣ рд╕реНрдерд╛рдиреАрдп рдХрджрдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрдЬрд╛рдп рддреИрдирд╛рддреА рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП:

1) рд╣рд░реЛрдХреВ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред

2) рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ django-libsass рдЬреЛрдбрд╝реЗрдВред

3) рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ:

INSTALLED_APPS += ('compressor',)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',
)

COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True

COMPRESS_PRECOMPILERS = (
    ('text/x-sass', 'django_libsass.SassCompiler'),
    ('text/x-scss', 'django_libsass.SassCompiler'),
)

4) рдПрдХ bin/post_compile рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕рдореЗрдВ

python manage.py compress
python manage.py collectstatic --noinput

(рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ_рдХрдВрдкрд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреНрд╖рдгрд┐рдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рдЬрд╣ рд╕реЗ рд░рд┐рд▓реАрдЬ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╕рдВрдкреАрдбрд╝рди рдХреЗ рджреМрд░рд╛рди рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЗрдирд░реЗрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд░рд┐рд▓реАрдЬ рдХрд╛рд░реНрдп рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдкрд░ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдЯрд┐рдХреЗрдВрдЧреАред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдкреЛрд╕реНрдЯ_рдХрдВрдкрд╛рдЗрд▓ рдореЗрдВ рдЪрд▓рд╛рдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрдиреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред)

@thatandromeda рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛, рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

@thatandromeda рдпрд╣ рд╕рдорд╛рдзрд╛рди рд╡рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВ (12 рдШрдВрдЯреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ 12 рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж)ред рдмрд┐рди/рдкреЛрд╕реНрдЯ_рдХрдВрдкрд╛рдЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛рдЙрдВрдЧрд╛? рдореИрдВ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗреЛрдХреВ рдХреЛ рдХреИрд╕реЗ рдХрд╣реВрдВ?

@manikos @thatandromeda рдХреНрдпрд╛ рдореБрдЭреЗ collectstatic рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рдпрд╛ compress рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореЗрд░рд╛ рд╕реЗрдХ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдХрдорд╛рдВрдб рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА:

ValueError: The file 'css/font-awesome.min.css' could not be found with <whitenoise.storage.CompressedManifestStaticFilesStorage object at 0x7f3e3fc3b828>.

@typistX рдЖрдкрдХреЛ рдЙрд╕рдХреЗреЛрдХреВ рдХреЛ рдХреБрдЫ рднреА рдмрддрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ (рд░реЗрдкреЛ) рдореЗрдВ bin рдирд╛рдордХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдФрд░ рдпрджрд┐ post_compile рдирд╛рдордХ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рд╣реИ (рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╡рд┐рд╕реНрддрд╛рд░) рдЕрдВрджрд░ред

@thatandromeda рдЖрдкрдиреЗ рдЗрд╕ рдмрдХрд╡рд╛рд╕ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ 3 рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж рд╣реА рдореБрдЭреЗ рдмрдЪрд╛рдпрд╛ред ЁЯЩПЁЯП╝

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЖрдкрдХреЛ рдпрд╣ рд╕рдВрдШрд░реНрд╖ рд╣реЛ рд░рд╣рд╛ рд╣реИ / рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрд╛!

@technolingo рд╕реЗрдХ рдХреЛ рдХрд▓реЗрдХреНрдЯрд┐рдХ рдХреЗ рдмрд╛рдж рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рджреЛрдиреЛрдВ рд╕рдорд╛рдзрд╛рди, @thatandromeda рдФрд░ @manikos рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ
рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЗрд░реЛрдХреВ рдкрд░ рддреИрдирд╛рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдХрдореА рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдХрд╣реАрдВ рднреА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорджрдж рдХреА рд╣реЛрдЧреАред

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреА рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред рд╕рдХреНрд░рд┐рдп рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╣рд░реЛрдХреВ рдЦрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдЬреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЙрд╕рдХреЗреЛрдХреВ рдХреЗ рд▓рд┐рдП 1-рдХреНрд▓рд┐рдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдмрдЯрди рдХрд╛ рдпрд╣рд╛рдБ рд╕реНрд╡рд╛рдЧрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЙрд╕рдХреЗреЛрдХреВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрджрдо рдЙрдард╛ рд░рд╣рд╛ рд╣реИ?

@morenoh149 рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ, рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЬрд░реВрд░рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреА рд╣реИ, "1-рдХреНрд▓рд┐рдХ рдбрд┐рдкреНрд▓реЙрдп рдмрдЯрди" рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ _the Bug_ рдЦреЛрдЬ рд░рд╣рд╛ рдерд╛ рддреЛ рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рдереАред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bobort picture bobort  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wjdp picture wjdp  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

amosjyng picture amosjyng  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jvc26 picture jvc26  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shezi picture shezi  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ