처음에 이녀석을 깔아서 다른 compiler 들(coffee, stylus) 을 설치해서 사용하려고 했다. 그런데 이 compiler 들이 결국 node.js 를 필요로 했다. 되도록 python 안에서 해결하려고 이걸 사용하려고 했던 것인데, 결국 node.js 를 사용해야 한다면, 굳이 django gear 를 사용해서 coffee / stylus 를 compile 하는 환경을 구현할 이유가 없을 듯 하다.
Django Gear 설치
pip install
$ pip install django-gears
INSTALLED_APPS
#settings.py INSTALLED_APPS = ( # ... 'django_gears', # ... )
개발용 urls
개발중 debug 용으로 쉽게 gear 로 처리된 결과를 확인할 수 있다. 이녀석은 GEAR_DEBUG 가 False 가 되면 empty 값이 된다고 한다.[참고]from django_gears.urls import gears_urlpatterns # url definitions here urlpatterns += gears_urlpatterns()
GEARS_DIR 정의하기
이부분은 아래 File System Finder 부분을 확인하자.Finders
settings.py 에 아래처럼 Gear 에서 사용할 finder(파일을 찾는 녀석 이라고 생각하자.) 를 세팅해야 한다. 아래처럼 기본적으로 2개가 설정된다.- File System Finder
- Application Finder
GEARS_FINDERS = ( ('gears.finders.FileSystemFinder', { 'directories': getattr(settings, 'GEARS_DIRS', ()), }), ('django_gears.finders.AppFinder', {}), )
Application Finder
기본적으로 django gears 는 django 의 application 내에 있는 assets directory 를 뒤진다. 이 assets directory 들에 있는 녀서들의 directives 를 찾아서 작업한다. 이녀석을 Application Finder 라 부른다.myapp1/ assets/ js/ script.js app.js
File System Finder
GEARS_FINDERS 를 정의할 때 GEARS_DIRS 도 정의해줘야 하는데, 이 GEARS_DIR 에 정의된 directory 를 뒤진다.import os SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) GEARS_DIRS = ( os.path.join(SITE_ROOT, "assets"), )
compile 을 위한 추가적인 설치
GEARS_COMPILERS
GEARS_COMPILERS = { '.styl': 'gears_stylus.StylusCompiler', '.coffee': 'gears_coffeescript.CoffeeScriptCompiler', }
gears 관련 목록 에 compiler 들을 찾아 볼 수 있다. 자신이 사용할 compiler 들을 모두 pip install 해야 한다. 여기서는 styl 과 coffee 를 install 할 것이다.
$ pip install gears-coffeescript $ pip install gears-stylus
주의할 점은 이것들이 전부 node.js 를 필요로 한다.[ref. 3]
GEARS_DEBUG
이 변수는 기본적으로 settings.DEBUG 를 따라간다. GEAR_DEBUG 가 True 일 때는 file들(.js/.css 등) 의 concatenation 을 하지 않는다.example
django-gears
mine
# file direcotry 구조 project myapp1/ project/ settings.py urls.py static/ js/ jquery.js script.js templates/ testGear.html manage.py # project/settings.py ... GEARS_ROOT = STATIC_ROOT # deploy path, this is the default value, just for clarification GEARS_DIRS = STATICFILES_DIRS # to be searched GEARS_COMPILERS = { '.styl': 'gears_stylus.StylusCompiler', '.coffee': 'gears_coffeescript.CoffeeScriptCompiler', } # project/urls.py from django.views.generic import TemplateView urlpatterns = [ # for test url(r'^testgear/$', TemplateView.as_view(template_name='testGear.html')), ... ] # templates/testGear.html {% load gears %} {% js_asset_tag "js/script.js" %} # static/js/script.js /* Dependencies: *= require jquery */ var a = a;
Reference
- Installation — Django Gears 0.7.1 documentation
- gears/gears · GitHub
- Gears 0.7.2 : Python Package Index
댓글 없음:
댓글 쓰기