λλ μ΄κ²μ λλ²κΉ νλ λ° ν μ£Ό(2κ°μ λ€λ₯Έ μ£Ό)λ₯Ό 보λκ³ μλΉν μ’μ νμ΅λλ€. λλ κ±°μ λͺ¨λ κΈ°μ¬/λΈλ‘κ·Έ ν¬μ€νΈ/λ¬Έμ λ₯Ό μ½μκ³ λ¬΄μμ ν΄μΌν μ§ λͺ¨λ₯΄κ² λ€κ³ μκ°ν©λλ€. μ€ν μ΄μ§ μλ²μ νλ‘λμ μλ²(κ°κ° λ³λμ s3 λ²ν·μ΄ μμ)κ° μμΌλ©° μ΄κ²μ μλ²(Herokuμμ)μ λ²ν·μ΄ λμΌνλλΌλ μ€ν μ΄μ§μμλ μλνμ§λ§ νλ‘λμ μμλ μλνμ§ μμ΅λλ€.
μμΆ νκ·Έκ° νμ ν νλ¦Ώμλ§ νμλλλ‘ λ§λ€μμ΅λλ€. μμΆ νκ·Έ(μ: if/else) λ΄μμ λͺ¨λ ν νλ¦Ώ νκ·Έλ₯Ό μ κ±°νμ΅λλ€. μ¦, λ λ§μ μμΆ νκ·Έκ° μμΌλ―λ‘ if/else λ¬Έμ΄ μμΆ νκ·Έ μΈλΆμ μμ μ μμ΅λλ€.
λꡬλ λ³Ό μ μλ νλ‘λμ νκ²½μμ μλνλ μ€νλΌμΈ μμΆμ΄ μ€μ λμ΄ μμ΅λκΉ? compress offline=Falseλ₯Ό μ¬μ©νλ©΄ μλ²μ μλΉν μΆκ° λΆνκ° λ°μνκ³ μ’ μ’ μΆκ° 300-500ms μ§μ°μ΄ λ°μν©λλ€. μ΄λ λΆλͺ ν κ°μΉκ° μκ³ μ΄ ν¨ν€μ§μ μ 체 λͺ©μ μ 무ν¨νν©λλ€.
μ€μ λ‘ λμμ λ°μ μλ μμ§λ§ κΈ°λ³Έμ μΌλ‘ μ΄ μμ μμ 무μμ ν΄μΌ νλμ§ μ ν λͺ¨λ¦ λλ€. μλνλ©΄ μ¬κΈ° λ¬Έμ λͺ©λ‘, λ€λ₯Έ λΈλ‘κ·Έ κ²μλ¬Όμ μλ μλ°± λͺ μ μ¬λλ€κ³Ό λμΌν λ¬Έμ μ λν΄ μ½μ μ μκ³ λ°λ³΅ κ°λ₯ν μ루μ μ΄ μκΈ° λλ¬Έμ λλ€. μ΄κ²μ μ±λ₯μ λ§€μ° μ€μνκ³ μλ§λ λͺ¨λ Django λ°°ν¬μ νμν κ²μ λν ν° λ¬Έμ μ λλ€.
μ¬κΈ°λ λ§μ°¬κ°μ§μ λλ€. 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".
μ¬κΈ°λ λ§μ°¬κ°μ§ :/
μ€νλΌμΈ μμΆμ΄ μλνμ§ μμ΅λλ€. κ³μν΄μ OfflineGenerationErrorκ° λ°μν©λλ€.
κ·Έλμ λͺ¨λ μΉ μλ²μ λ°°ν¬ν λλ§λ€ λ€μμ μ€ννλμ§ νμΈνμ΅λλ€.
νμ΄μ¬ κ΄λ¦¬.py μμΆ --force
νμ΄μ¬ κ΄λ¦¬.py μμ§ μ μ
manifest.json νμΌμ μλ‘ κ³ μ³μΌ ν©λλ€. λν κ° νΈμλ§λ€ 맀λνμ€νΈ νμΌμ μ΄λ¦μ΄ λ€λ₯Έμ§ νμΈν©λλ€. λ²μ λ²νΈλ₯Ό μΆκ°νλ κ²κ³Ό κ°μ΅λλ€. 맀λνμ€νΈ_%s.json
μ΅μ git μ»€λ° ν΄μ IDλ₯Ό νλ¬κ·ΈμΈ %sμ μ¬μ©ν©λλ€. λ°λΌμ λ°°ν¬νλ λμ git pull, compress, collectstaticμ μννμ¬ μλ‘μ΄ manifest.json νμΌλ‘ μλ‘μ΄ μΆμ/μ§κ³ CSS/jsλ₯Ό μμ±ν©λλ€.
κ·Έλ° λ€μ μνμΉλ₯Ό λ€μ μμν©λλ€. λ°λΌμ λͺ¨λ κ²μ΄ μνν΄μΌ ν©λλ€.
λν λλ μ€λλ static/* λ―Έλμ΄λ₯Ό μμ νκΈ° μν΄ collectstaticμ΄ --clearλ₯Ό νΈμΆνμ§ μλμ§ νμΈνμ΅λλ€.
λ§μ΄ λ©λκΉ?
μ’μ, λλ μ νν κ°μ λ¬Έμ κ° μμ΅λλ€.
λꡬλ μ§ μμ μ μΈ λ°©μμΌλ‘ S3μμ μ΄κ²μ μ€νλΌμΈμΌλ‘ μ€ννκ³ μμ΅λκΉ?
μλνμμμ€:
http://stackoverflow.com/a/31545361/1359475
μ§λ λ©°μΉ λμ λλ κ°μ λ¬Έμ λ₯Ό ν΄κ²°νλλΌ λ°λΉ΄κ³ , λκ΅°κ°μκ² λμμ΄ λμμΌλ©΄ ν΄μ μμ μ¬νμ μλ € λλ¦¬κ² μ΅λλ€.
λ¬Έμ λ₯Ό μ¬νν μ μλ ν νλ¦Ώ μ€ νλμμ 컨ν μ€νΈλ₯Ό μ¬μ©νκ³ μμμ΅λλ€. μ€νλΌμΈ μμΆ μ€μλ 컨ν μ€νΈμ μ‘μΈμ€ν μ μμΌλ―λ‘ μ€νλΌμΈ μμΆ μ€μ μμ±λ ν€μ μλ΅ μ£ΌκΈ°μ ν€κ° λΆλͺ ν λ€λ₯Ό κ²μ λλ€.
컨ν μ€νΈμ μμ‘΄νλ JavaScript λΆλΆμ compress νκ·Έ μΈλΆμ μλ λ€λ₯Έ λΈλ‘μΌλ‘ λΆλ¦¬ν΄ 보μμμ€.
μ΄ μ λ³΄κ° λκ΅°κ°μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
κ°μ₯ μ μ©ν λκΈ
μ§λ λ©°μΉ λμ λλ κ°μ λ¬Έμ λ₯Ό ν΄κ²°νλλΌ λ°λΉ΄κ³ , λκ΅°κ°μκ² λμμ΄ λμμΌλ©΄ ν΄μ μμ μ¬νμ μλ € λλ¦¬κ² μ΅λλ€.
λ¬Έμ λ₯Ό μ¬νν μ μλ ν νλ¦Ώ μ€ νλμμ 컨ν μ€νΈλ₯Ό μ¬μ©νκ³ μμμ΅λλ€. μ€νλΌμΈ μμΆ μ€μλ 컨ν μ€νΈμ μ‘μΈμ€ν μ μμΌλ―λ‘ μ€νλΌμΈ μμΆ μ€μ μμ±λ ν€μ μλ΅ μ£ΌκΈ°μ ν€κ° λΆλͺ ν λ€λ₯Ό κ²μ λλ€.
컨ν μ€νΈμ μμ‘΄νλ JavaScript λΆλΆμ compress νκ·Έ μΈλΆμ μλ λ€λ₯Έ λΈλ‘μΌλ‘ λΆλ¦¬ν΄ 보μμμ€.
μ΄ μ λ³΄κ° λκ΅°κ°μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.