์๋ ํ์ธ์, ์ ๋ Django(1.8.2)์ django-compressor(2.2)๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์์ถ๋ js๋ ์ ์๋ํ์ง๋ง CSS ํ์ผ์ ์์ถ๋์ง ์์ต๋๋ค.
๋ค์์ ๋ด ํ ํ๋ฆฟ์ ์ผ๋ถ์ ๋๋ค.
{% load staticfiles %}
{% load compress %}
{% compress css %}
<link rel="stylesheet" href="{% static 'landing/style.css' %}" type="text/css"></head>
{% endcompress %}
{% compress js %}
<script src="{% static 'landing/js/jquery.min.js' %}"></script>
<script src="{% static 'landing/js/ads.js' %}"></script>
<script src="{% static 'landing/js/ads.js' %}"></script>
{% endcompress %}
css ํ์ผ์ ์์ฑํ์ง๋ง ์๋ณธ ํ์ผ๊ณผ ์ ํํ ๋์ผํฉ๋๋ค.
settings.py๋ฅผ ๊ฒ์ํ์ญ์์ค.
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'compressor',
)
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder',
)
COMPRESS_ENABLED = True
COMPRESS_OUTPUT_DIR = 'compress'
STATIC_ROOT = '/home/service/growth/static_file/static'
css๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ถ๋์ง ์์ต๋๋ค. https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_CSS_FILTERS ์์ ๊ธฐ๋ณธ ์ค์ ์ ์ฐธ์กฐ
์ฃ์กํฉ๋๋ค. CSS์ ์ต์ํ์ง ์์ต๋๋ค. CSS์์ ์๋ํ๋๋ก COMPRESS_CSS_FILTERS
๋ณ์๋ฅผ ์ค์ ํด์ผ ํฉ๋๊น? ์ด๋ค ์ต์
์ ์ฌ์ฉํด์ผ ํฉ๋๊น?
๋ด๊ฐ ์ฐธ์กฐ. ์ด ์ค์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']
๊ฐ์ฌํฉ๋๋ค.
๊ณต๊ฐํ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ ๋ ผ์ํ ์ ์๋๋ก ๊ณต๊ฐํ๊ฒ ์ต๋๋ค.
์ด๋ฌํ ์ํฉ์์ ๋๋ setup.py:install_requires์์ rcssmin์ ์ ๊ฑฐํ๊ณ '์ฌ์ฉ'๊ณผ ๊ฐ์ ๋ฌธ์์ ๋ช ๋ฐฑํ ์์น์ ํ์ฌ์ ์คํด๋ฅผ ๋ช ์ํ์ญ์์ค.
@dilyanpalauzov ์ด์ ๋ํ ํ ๋ฆฌํ์คํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ธ์ ์ค์ค๋ก ํ ์ ์์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
ํธ์ง: ...์ฌ์ค, ์ ๋ ์ด๊ฒ์ ๋ฒ๊ทธ๋ก ์๊ฐํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก rcssmin์ ์ค์นํ๋ฉด ์ฌ์ฉ์๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๊ฐ ๋ ์ฌ์์ง๋ฏ๋ก ์๊ตฌ ์ฌํญ์ผ๋ก ๋จ๊ฒจ ๋๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ํ๋ ๋ฌผ๋ก ์ด๊ฒ์ ๋ ๋ช ํํ๊ฒ ๋ง๋๋ ์ด์ ์ด ์์ต๋๋ค.
์ฐธ๊ณ ๋ก ๋ฐฉ๊ธ django-compressor๋ฅผ ์ค์นํ๊ณ CSS๊ฐ ๋ด JS์ฒ๋ผ ์ถ์๋ ๊ฒ์ผ๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ๊น์ง ์์ต๋๋ค.
๋ด๊ฐ ์ฐธ์กฐ. ์ด ์ค์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']
๊ฐ์ฌํฉ๋๋ค.
๊ทธ๋ฌ๋ ์์ถ ํ์ผ์ ๋ํ min.js ๋๋ min.css๋ฅผ ์ด๋ป๊ฒ ์ป์ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ด๊ฐ ์ฐธ์กฐ. ์ด ์ค์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.