Django-compressor: рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди рддреНрд░реБрдЯрд┐

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

рдореИрдВрдиреЗ рдЗрд╕реЗ (рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдкреНрддрд╛рд╣) рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдмрд┐рддрд╛рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдХрд╛рдлреА рдирд┐рд░рд╛рд╢ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╣рд╛рдВ рд▓рдЧрднрдЧ рд╣рд░ рд▓реЗрдЦ/рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ/рдЕрдВрдХ рдХреЛ рдкрдврд╝рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдкреНрд░реЛрдбрдХреНрд╢рди рд╕рд░реНрд╡рд░ (рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ рдПрд╕ 3 рдмрд╛рд▓реНрдЯреА рдХреЗ рд╕рд╛рде) рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ, рднрд▓реЗ рд╣реА рд╕рд░реНрд╡рд░ (рд╣реЗрд░реЛрдХреВ рдкрд░) рдФрд░ рдмрд╛рд▓реНрдЯреА рд╕рдорд╛рди рд╣реЛрдВред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрддрдирд╛ рдХрдВрдкреНрд░реЗрд╕ рдЯреИрдЧ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЪрд╛рдЗрд▓реНрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рднреА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЯреИрдЧреНрд╕ рдХреЛ рдХрдВрдкреНрд░реЗрд╕ рдЯреИрдЧреНрд╕ (рдЬреИрд╕реЗ рдЕрдЧрд░/рдЕрдиреНрдп) рдХреЗ рднреАрддрд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдХрдВрдкреНрд░реЗрд╕ рдЯреИрдЧ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП if/else рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрдВрдкреНрд░реЗрд╕ рдЯреИрдЧ рдХреЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХрд╣реАрдВ рднреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди рд╣реИ? рдХрдВрдкреНрд░реЗрд╕ рдСрдлрд▓рд╛рдЗрди = рдлрд╛рд▓реНрд╕ рдХреЗ рд╕рд╛рде - рд╕рд░реНрд╡рд░ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЕрдХреНрд╕рд░ рдЕрддрд┐рд░рд┐рдХреНрдд 300-500 рдПрдордПрд╕ рджреЗрд░реА рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдкреВрд░реЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдорджрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣реА рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдорд╕реНрдпрд╛ рд╕реВрдЪреА рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдХрд╣реАрдВ рдФрд░, рдФрд░ рдХреЛрдИ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рд╣реЛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ - рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдХрд┐рд╕реА рднреА Django рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рдкрд┐рдЫрд▓реЗ рджрд┐рдиреЛрдВ рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рдерд╛, рдФрд░ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдлрд┐рдХреНрд╕ рдерд╛, рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

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

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдмреНрд▓реЙрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХрдВрдкреНрд░реЗрд╕ рдЯреИрдЧ рдХреЗ рдмрд╛рд╣рд░ рд╣реИред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддреА рд╣реИред

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

рдореБрдЭреЗ рднреАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ django_compressor рдХрд╛ COMPRESS_OFFLINE рд╣рд▓ рдХрд░рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдкрд░ рдирд╣реАрдВ рд▓рд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:

OfflineGenerationError: You have offline compression enabled but key "%s" 
is missing from offline manifest. You may need to run "python manage.py compress".

рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИ :/

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ред рдСрдлрд▓рд╛рдЗрди рдЬреЗрдирд░реЗрд╢рди рдПрд░рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд░рд╣реЗрдВред

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рд╕рднреА рд╡реЗрдм рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рджреМрд░рд╛рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдЪрд▓рд╛рдКрдВ

рдЕрдЬрдЧрд░ рдкреНрд░рдмрдВрдзрди.py рд╕реЗрдХ --force
рдЕрдЬрдЧрд░ рдкреНрд░рдмрдВрдзрди.py рд╕рдВрдЧреНрд░рд╣рд╕реНрдерд┐рд░

рдЙрд╕реЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ.рдЬреЗрд╕рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреБрд╢ рдХреЗ рд╕рд╛рде рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЕрд▓рдЧ рд╣реЛред рдЬреИрд╕реЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝реЗрдВред рдореЗрдирд┐рдлреЗрд╕реНрдЯ_%s.json
рдореИрдВ %s рдкреНрд▓рдЧрдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо git рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрд╢ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рддреЛ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдПрдХ рдирдИ рдореЗрдирд┐рдлреЗрд╕реНрдЯ.рдЬреЗрд╕рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЫреЛрдЯрд╛/рдПрдХрддреНрд░рд┐рдд рд╕реАрдПрд╕рдПрд╕/рдЬреЗрдПрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд┐рдЯ рдкреБрд▓, рд╕рдВрдкреАрдбрд╝рд┐рдд, рдПрдХрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдлрд┐рд░ рдореИрдВ рдЕрдкрд╛рдЪреЗ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВред рддреЛ рдпрд╣ рд╕рдм рдЪрд┐рдХрдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рд╕реНрдерд┐рд░/* рдореАрдбрд┐рдпрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд▓реЗрдХреНрдЯрд╕реНрдЯреИрдЯрд┐рдХ рдХреЙрд▓ - рдХреНрд▓рд┐рдпрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рд╣реА рдмрд╛рдд?

рдареАрдХ рд╣реИ рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдХреЛрдИ рднреА рдЗрд╕ рдСрдлрд╝рд▓рд╛рдЗрди рдХреЛ S3 рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ?

рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
http://stackoverflow.com/a/31545361/1359475

рдкрд┐рдЫрд▓реЗ рджрд┐рдиреЛрдВ рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рдерд╛, рдФрд░ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдлрд┐рдХреНрд╕ рдерд╛, рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

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

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдмреНрд▓реЙрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХрдВрдкреНрд░реЗрд╕ рдЯреИрдЧ рдХреЗ рдмрд╛рд╣рд░ рд╣реИред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддреА рд╣реИред

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