Django-compressor: 404 CACHE рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП

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

рдореИрдВ django-compressor рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ред рдпрд╣ staticfiles/CACHE/ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдкреЗрдЬ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ:

GET https://site.com/de/static/CACHE/css/5e257aa688ab.css/ 404 (Not Found)
GET https://site.com/de/static/CACHE/js/3f1c59956fa3.js/ 404 (Not Found)

рдиреЛрдЯ: рдореВрд▓ рд▓рд┐рдВрдХ 404 рдкреЗрдЬ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдореЗрдВ /de/ ред рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд▓реЙрдХ рд╕рд╣реА рд╣реИрдВ:

<link rel="stylesheet" href="/static/CACHE/css/5e257aa688ab.css" type="text/css" />
<script type="text/javascript" src="/static/CACHE/js/3f1c59956fa3.js"></script>

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдХрд┐ рдореИрдВ django-sekizai рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреЛрд╕реНрдЯрдкреНрд░реЛрд╕реЗрд╕рд░ compressor.contrib.sekizai.compress рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдореЗрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕:

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage'
COMPRESS_URL = STATIC_URL
COMPRESS_ENABLED = True

STATIC_ROOT = '/app/staticfiles/'  # usually computed, ends up here
STATIC_URL = '/static/'

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    # Django-Bower
    'compressor.finders.CompressorFinder',
)

рдЯреЗрдореНрдкрд▓реЗрдЯ рдЯреИрдЧ:

{% render_block "css" postprocessor "compressor.contrib.sekizai.compress" %}
{% render_block "js" postprocessor "compressor.contrib.sekizai.compress" %}

рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде 3 рджрд┐рдиреЛрдВ рд╕реЗ рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реВрдВ рдФрд░ рдЕрдирдЧрд┐рдирдд рдШрдВрдЯреЗ ...

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

@oesah , рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдмрд┐рд▓рдХреБрд▓ рдРрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рд╣реИред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд░ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдзрд╛рдЧрд╛ рдЕрдм рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдиреЗ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрд╕ рдкрд░ рдпрд╣ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░ рджреА рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдЖрдк рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВ рдФрд░ рдпрд╣ рдзрд╛рдЧрд╛ рдПрдХ рдЬреАрд╡рди рд░рдХреНрд╖рдХ рдерд╛!

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

рдЬрдм рдореИрдВ рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИ, рдХрд┐ рдпрд╣ рдХреИрд╢ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ, рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЬреЛ рдЗрд╕реЗ рдкрд╛рддрд╛ рд╣реИред

рдареАрдХ рд╣реИ рдПрдХ рдФрд░ рдЦреЛрдЬ: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ sekizai + whitenoise + рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рдХрд╛рд░рдг рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред Whitenoise Docs рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ "_рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, WhiteNoise рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рдмрд╛рдж рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ Django DEBUG рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЬреИрд╕реЗ, рд╕рднреА рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрдиреНрди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк Django рдХрдВрдкреНрд░реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдкрдиреА рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред_" рдЗрд╕рд▓рд┐рдП рдЬрдм рднреА рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдИ рдкреГрд╖реНрда рдЦреЛрд▓рддрд╛ рд╣реИ, рддреЛ Sekizai рдЙрдиреНрд╣реЗрдВ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкреАрдбрд╝рди sekizai рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ)ред Whitenoise рдлрд┐рд░ рд╕реЗ рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЬрдм рдореИрдВ рдПрдХ рдкреЗрдЬ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж Django рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдмрди рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рджреВрд╕рд░реЗ рдкреЗрдЬ рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рд╡рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреА рд╣реЛрдЧреА (рдкреЗрдЬ рдЦреЛрд▓реЗрдВ рдФрд░ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ)ред рддрдм рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рд╕реЗ рдвреВрдВрдврддрд╛ рд╣реИ ...

рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдпреЗ, рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? рдореЗрд░рд╛ рдЕрдЧрд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд╕рдВрдкреАрдбрд╝рди рдкреЛрд╕реНрдЯрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде sekizai рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд╕рдВрдж рдЖрдПрдЧрд╛ рдЬреЛ sekizai рдФрд░ рд░реАрдпрд▓рдЯрд╛рдЗрдо рд╕реНрдерд┐рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рддреЛ whitenoise.django.DjangoWhiteNoise рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдмрджрд▓ рдЧрдпрд╛

    self.autorefresh = settings.DEBUG
    self.use_finders = settings.DEBUG

рдкреНрд░рддрд┐

    self.autorefresh = True
    self.use_finders = True

рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ (рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, Google рдкреЗрдЬ рд╕реНрдкреАрдб рдЗрдирд╕рд╛рдЗрдЯ рдореБрдЭреЗ рдСрдЯреЛрд░рд┐рдлреНрд░реЗрд╢ рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдмрд┐рдВрджреБ рджреЗрддрд╛ рд╣реИ ..), рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЗ рдХреНрдпрд╛ рд╣реИрдВ? рдХреНрдпрд╛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ? рдпрд╣ рдЕрдореЗрдЬрд╝рд┐рди рд╣реЛрдЧрд╛, рдЕрдЧрд░ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ (рдЬреИрд╕реЗ django-compressor CACHE) рдХреЛ рднреА рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдЗрдирдкреБрдЯ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред

рдирдорд╕реНрддреЗ,

рдпрд╣ рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд░ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдпрд╛ рд╕рдорд╛рди (рдпрд╛ рд╢рд╛рдпрдж рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рд╕рдорд░реНрдерди рдордВрдЪ) рдкрд░ рд╣реИ

рд╣рд╛рдБ, рдореИрдВ рдЙрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдБрдЪрд╛ рд╣реВрдБ :) рд▓реЛрдЧреЛрдВ рд╕реЗ рд╡рд╛рдЗрдЯрдиреЛрдЗрдЬрд╝ рд╕реЗ рдкреВрдЫреВрдБрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж

@oesah , рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдмрд┐рд▓рдХреБрд▓ рдРрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рд╣реИред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд░ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдзрд╛рдЧрд╛ рдЕрдм рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдиреЗ рд╡реНрд╣рд╛рдЗрдЯрдиреЛрдЗрд╕ рдкрд░ рдпрд╣ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░ рджреА рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдЖрдк рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВ рдФрд░ рдпрд╣ рдзрд╛рдЧрд╛ рдПрдХ рдЬреАрд╡рди рд░рдХреНрд╖рдХ рдерд╛!

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

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

jgirdner picture jgirdner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

markstahler picture markstahler  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gh640 picture gh640  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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