Django-compressor: django_compressor์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค ๊ฒŒ์‹œ

์— ๋งŒ๋“  2019๋…„ 12์›” 01์ผ  ยท  16์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: django-compressor/django-compressor

์ตœ์‹  django-compressor 2.3์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€์ ธ์˜ค๊ธฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

File ".../python3.8/site-packages/compressor/templatetags/compress.py", line 3, in <module>
from django.utils import six
ImportError: cannot import name 'six' from 'django.utils' (.../python3.8/site-packages/django/utils/__init__.py)

https://github.com/django-compressor/django-compressor/commit/dabe46e092d3bfba139d6a1e018980f249d9d95c#diff -ac8de32c7b59ab69b2ac71475292์—์„œ ์ˆ˜์ •๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Django 3.0์—์„œ django.utils.six ์ œ๊ฑฐ๋˜๋ฉด django-compressor์— ๋Œ€ํ•œ ์ƒˆ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ž˜๋ฆด ๋•Œ๊นŒ์ง€ django-compressor๊ฐ€ Django 3.0๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

#940๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋‚ด๊ฐ€ ์†Œ์œ ํ•œ ๋‘ ๊ฐœ์˜ django ์•ฑ์— ๋Œ€ํ•ด ๋ช‡ ๊ฐ€์ง€ ์˜จ์ „์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ django_compressor์˜ ํ˜„์žฌ ๋ฒ„์ „์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

(์ด ๋ฌธ์ œ๋ฅผ ๋ณด๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์œ„ํ•ด -e git://github.com/django-compressor/django-compressor.git@a5bfd775450428e1a261b88e1e5424bfb4dde081#egg=django_compressor ๋ฅผ requirements.txt ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜์—ฌ github์—์„œ ์ง์ ‘ ์••์ถ•๊ธฐ์˜ ํ˜„์žฌ ๋งˆ์Šคํ„ฐ ์ปค๋ฐ‹์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

https://pypi.org/project/django-compressor/2.4/ ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. @albertyw์˜ ๋ชจ๋“  ๋…ธ๋ ฅ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋ชจ๋“  16 ๋Œ“๊ธ€

๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

(์ด ๋ฌธ์ œ๋ฅผ ๋ณด๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์œ„ํ•ด -e git://github.com/django-compressor/django-compressor.git@a5bfd775450428e1a261b88e1e5424bfb4dde081#egg=django_compressor ๋ฅผ ๊ท€ํ•˜์˜ requirements.txt ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜์—ฌ github์—์„œ ์ง์ ‘ ์••์ถ•๊ธฐ์˜ ํ˜„์žฌ ๋งˆ์Šคํ„ฐ ์ปค๋ฐ‹์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)

๋‚˜๋Š” ์‹œ๋„ํ–ˆ๋‹ค

$ pip install -e git://github.com/django-compressor/django-compressor.git@a5bfd775450428e1a261b88e1e5424bfb4dde081#egg=django_compressor

๊ทธ๋ฆฌ๊ณ  ์ข‹์€ ๊ฒฐ๊ณผ.

$ ./manage.py test monitor
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
........
...
.
----------------------------------------------------------------------
Ran 10 tests in 5.034s

OK
Destroying test database for alias 'default'...

์กฐ๋งŒ๊ฐ„ ๋ฐœ๋งค๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋˜๊ณ  ์‹ถ๋‹ค๋ฉด ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ develop ๋ถ„๊ธฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ตฌ์„ฑ์œผ๋กœ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ Django 3.0์œผ๋กœ ๊ฐœ๋ฐœ ๋ถ„๊ธฐ( @a5bfd77545 )๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค. :)

COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_MTIME_DELAY = 0
COMPRESS_CSS_FILTERS = [
    'compressor.filters.css_default.CssAbsoluteFilter',
    'compressor.filters.cssmin.CSSCompressorFilter'
]
COMPRESS_CSS_HASHING_METHOD = None
COMPRESS_JS_FILTERS = [
    'compressor.filters.jsmin.JSMinFilter',
]

์ด๊ฒƒ์€ heroku์—์„œ gunicorn์„ ์„œ๋ฒ„๋กœ, uvicorn์„ asgi ์ž‘์—…์ž๋กœ, ์ฑ„๋„์„ ๋ผ์šฐํ„ฐ๋กœ, whitenoise๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์  ํŒŒ์ผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ ์••์ถ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ๋กœ ์‹คํ–‰(heroku๋ฅผ ์ œ์™ธํ•œ ๋™์ผํ•œ ์„ค์ •)๋„ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

pip๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ 6๊ฐœ์˜ 1.13.0์„ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— django_compressor ์„ค์น˜์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
install_requires ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค.

    install_requires=[
        .....
        'six == 1.12.0',
    ],
  • ์žฅ๊ณ 
  • ์žฅ๊ณ ๋ ˆ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
  • ๊ฐ€๊ฒฉ ์ธํ•˜
  • ์žฅ๊ณ  ํ•„ํ„ฐ
  • drf-yasg
  • ์žฅ๊ณ  ๋ถ€ํŠธ์ŠคํŠธ๋žฉ4
  • django_compressor
  • django-libsass

๋ฐฉ๊ธˆ Weblate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ django_compressor์˜ ํ˜„์žฌ develop ๋ถ„๊ธฐ๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถœ์‹œ ๊ณ„ํš์ด ์žˆ๋‚˜์š”?

#964์—์„œ ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“œ๋Š” PR์ด ์žˆ์œผ๋ฉฐ #967์—์„œ ๋Œ€๊ธฐ ์ค‘์ž…๋‹ˆ๋‹ค.

django-compressor์˜ setup.py ์—๋Š” ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

'django-appconf >= 1.0'

django-appconf 1.0.3์€ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋นˆ virtualenv์— django-compressor๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ด๊ฒƒ์ด ์„ค์น˜๋˜๋Š” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

django-appconf 1.0.2๋Š” Django 3์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. django.utils.six๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. django-compressor๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์ด๋ฏธ django-appconf==1.0.2๊ฐ€ ์„ค์น˜๋œ ๊ฒฝ์šฐ 1.0.2๋Š” ">= 1.0" ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ ๋‚˜๋Š” ๊นจ์ง„ ์„ค์น˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

setup.py ์˜ django-appconf ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ฐ•ํ™”ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๋Œ“๊ธ€์„ ๋ฐ”ํƒ•์œผ๋กœ #978์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. #964๋Š” #978 ๋‹ค์Œ์— ๋ณ‘ํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://pypi.org/project/django-compressor/2.4/ ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. @albertyw์˜ ๋ชจ๋“  ๋…ธ๋ ฅ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@diox 2.4 git ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์™„๋ฃŒ.

๊ต‰์žฅํ•ฉ๋‹ˆ๋‹ค. ์ถœ์‹œํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ƒˆ ๋ฆด๋ฆฌ์Šค๋Š” ์•„์ง https://django-compressor.readthedocs.io์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

mmm ์ฒ˜์Œ์— ํƒœ๊ทธํ•˜๋Š” ๊ฒƒ์„ ์žŠ์–ด๋ฒ„๋ ค์„œ ์•„์ง 2.4๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์šฐ๋ฆฌ๊ฐ€ ๋” ๋งŽ์€ ๊ฒƒ์„ ์ปค๋ฐ‹ํ•˜๋ฉด ์ €์ ˆ๋กœ ๊ณ ์น  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

readthedocs์—์„œ stable ๋ฒ„์ „์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜์—ฌ ์ƒˆ๋กœ์šด 2.4 ๋นŒ๋“œ๋กœ ์ด์–ด์กŒ์ง€๋งŒ stable ๋Š” ์—ฌ์ „ํžˆ 2.3์ด์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/readthedocs/readthedocs.org/pull/3913 ์ฒ˜๋Ÿผ ๋ณด์˜€๊ณ  ํ™˜๊ฒฝ์„ ๋‹ฆ๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ œ ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ œ๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @cuu508!

@intgr ์€ latest ๋ฒ„์ „๋„ ๋‹ค์‹œ ๋นŒ๋“œ๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธํ•ด๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์ €์žฅ์†Œ์—๋Š” ์—ฌ์ „ํžˆ 1๋…„ ์ „์— ์›นํ›…์œผ๋กœ ๋Œ€์ฒด ๋œ ์ด์ „ github ํ†ตํ•ฉ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. latest readthedocs ํŽ˜์ด์ง€๋Š” ๊ทธ ์ดํ›„๋กœ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์›นํ›…์„ ์ถ”๊ฐ€ํ–ˆ์œผ๋‹ˆ ๋‚˜์ค‘์— ๋‹ค์‹œ ์ž๋™์œผ๋กœ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. @intgr ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์‹ค์ œ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ https://github.com/django-compressor/django-compressor/commit/bfd440feef72ec5a2ec68ed632c26c154cc9b92e๋ฅผ ํ‘ธ์‹œํ–ˆ๊ณ  ๋ฌธ์„œ๊ฐ€ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰