์ต์ 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์์ ์ง์ ์์ถ๊ธฐ์ ํ์ฌ ๋ง์คํฐ ์ปค๋ฐ์ ์ค์นํ ์ ์์ต๋๋ค.)
๋๋จํ ๊ฐ์ฌํฉ๋๋ค.
(์ด ๋ฌธ์ ๋ฅผ ๋ณด๋ ๋ค๋ฅธ ์ฌ๋์ ์ํด
-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',
],
๋ฐฉ๊ธ 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๋ฅผ ํธ์ํ๊ณ ๋ฌธ์๊ฐ ๋ค์ ์์ฑ๋์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
https://pypi.org/project/django-compressor/2.4/ ๊ฐ ์ถ์๋์์ต๋๋ค. ํจ๊ณผ๊ฐ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. @albertyw์ ๋ชจ๋ ๋ ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!