ccnmtldjango 우리가 표준 django-admin.py startproject 명령을 대체하는 데 사용하는 붙여 넣기 템플릿입니다.
그것은 장고 앱 디렉토리 구조를 설정하는 동일한 기본 작업을 수행 있지만 CCNMTL 특정 기능 및 구성의 많은 구현하도록 확장되어왔다.
무엇이 우리를 위해 제공하면 해당 startproject하지 않습니다 :
- 장고 바람 (컬럼비아의 중앙 정식 서비스에 장고 다리 - http://www.jasig.org/cas/deployments/columbia-university)가 포함되어 있으며 우리의 애플 리케이션이 자동 승인에 대한 바람을 사용할 수 있도록 기본적으로 구성되어 있습니다. 즉, 기본적으로 컬럼비아 UNI 사람은 누구나 계정을 가지고 있습니다. CCNMTL 개발자 단서가 자동으로 슈퍼 유저로 설정하고, CCNMTL 직원 모두가 자동으로 직원에 매핑되는 것을 그룹 affil된다. 이들은 우리를 위해 일반적으로 유용 기본값입니다.
- VIRTUALENV 소스 번들 타르볼과 bootstrappable, 그것을 사용하도록 설정 manage.py의 오두막과 PIP 설정. 이것은 기본적으로 우리의 한 단계 자동 배포 및 봉쇄 방법으로 적합합니다.
- sorl.thumbnail (편리한 멋쟁이 영상을 thumbnailing 라이브러리)는 기본적으로 포함되어 있습니다
- flatpages 활성화
- 설정은 DEV / 자극에 대한 분할
- 아파치 / django.wsgi 구성
- 가상 환경을 사용하여 mod_wsgi에 설정을위한 샘플 아파치 설정 (우리는로 생성 된 아파치 설정 파일을 바로 심볼릭 링크 할 수 있도록 모든 것을 간소화 우리의 생산 서버의 / etc / 아파치 / 사이트 사용 / 디렉토리와 갈 것이 좋다)
- DEV과 자극에 대한 미디어 DIRS 구성
- smartif 포함 (https://github.com/thraxil/django-smartif/tree/master)
- template_utils는 공급 물건에 따라 (http://code.google.com/p/django-template-utils/)뿐만 아니라 feedparser를 포함
- 장고 - typogrify은 (http://code.google.com/p/typogrify/) smartypants.py와 함께 (이 사용하는) 포함
- 장고 - 보초 포함 (https://github.com/dcramer/django-sentry) 및 우리의 설정을위한 구성
- 장고 - munin 포함 (https://github.com/ccnmtl/django-munin)
- 한국은 데이터베이스 마이그레이션 포함되어 있습니다
- 장고 성가신이 포함되어 있습니다 (I가 @render_to 좋아)
- 장고 코를 설치하고 테스트 러너로 설정 (훨씬 좋네요!)
- 데이터베이스 단위 테스트에 사용되는 메모리 내에서 SQLite는
- 남쪽 테스트가 자동으로 ./manage.py 시험에 스킵 (그들은 휴식)
- django_compressor 추가 및 생산에 CSS를 압축하도록 설정
- uuid.py
- 포함 JQuery와 (1.4.2, 축소 된)
- hs.js
- tabber.js
- widget.js
- tablesort.js
- 위의 JS 라이브러리에 필요한 CSS는 기본적으로 site.css에 포함되어 있습니다
- 기본 템플릿이 포함
- 장고 관리자 활성화 (그리고 TLC에 대한 바람과 함께 인증)
- 위해 RESTClient
- httplib2
- imageuploader
- 인하는 포함 활성화
- 데이터베이스는 PostgreSQL의 디폴트로 (원인 MySQL은 TEH 형편이다)
- 기본적으로 사용 트랜잭션 미들웨어 (원인 데이터 손상이 TEH 형편이다)
- 시간대 설정
- 국제화 (우리는 불행하게도 단일 언어입니다 아무 의미를 부정합니다.) 해제하지
- PIL
- psycopg2 (그 mx.DateTime 의존성을 박탈)
- 다중 열 레이아웃에 대한 대체 기본 템플릿을 사용하여 좋은 기본 템플릿 디자인.
ccnmtldjango을 사용하려면, 당신은 파이썬 2.6+, VIRTUALENV, PIP, 당신의 컴퓨터에 설치 최근 setuptools에 필요합니다.
당신이 ccnmtldjango 설치가 아직없는 경우, 최초로 수행
& NBSP; easy_install을 ccnmtldjango
그것은 자동으로 (실제로는, 단지 PasteScript) 필요한 의존성 당겨해야합니다.
실행
& NBSP; paster은 --list-템플릿을 생성
ccnmtldjango을 포함해야
이제, 장고 프로젝트를 빠른 시작하는 수행
& NBSP; paster 만들 --template = ccnmtldjango myprojectname
myprojectname은 파이썬 모듈 이름 (즉, 소문자, 구두점 등)해야한다. 그것은에서 장고 프로젝트가있는 디렉토리라는 myprojectname를 작성합니다.
paster은 여전히 파일 권한이 아무것도하지 않는, 그래서 우리는 여전히에 수동으로 몇 가지를 설정해야합니다 :
& NBSP; CD를 myprojectname
& NBSP; 755 manage.py bootstrap.py chmod를
내가 붙여 넣기 템플릿을 통해 코드로 임의의 문자열을 삽입하는 방법을 알아낼 수 없게 일반 장고 startproject에 비해없는 ccnmtldjango 한 가지 settings_shared.py에서 SECRET_KEY 변수가 항상 동일한 기본 것입니다. 그것은 분명히 좋은 생각이 아니다, 그래서 당신은 당신의 프로젝트에 고유 한 몇 가지 다른 임의의 문자열에 그 변경해야합니다.
이것은 아마 버전 제어에 프로젝트를 확인하는 것이 포인트입니다.
우리는 VIRTUALENV와, 너무 장고에 대한 봉쇄를 사용 :
& NBSP; ./ bootstrap.py
즉, (이 장고 자체 포함)이 VIRTUALENV를 포함하고 그것으로 설치 요구 사항 / src 디렉토리에있는 모든 라이브러리를했다 ve 디렉토리에 생성됩니다. 그것이 생성 된 이후 디렉토리가 SVN에 체크인하지 말아야했습니다. 당신이 당신의 응용 프로그램에 대해 다른 라이브러리를 필요로하는 경우, (그들은 일반 파이썬 라이브러리 또는 장고 여부에 따라 타르볼로를 번들 및 요구 사항 / SRC / 디렉토리에 드롭, 요구 사항 / libs.txt 또는 요구 사항 / apps.txt에 추가 애플 리케이션은) 다음 ./bootstrap.py 다시 실행.
VIRTUALENV으로, 환경을 활성화 할 필요가 없다는 것을 명심하십시오. 대신, VE는 파이썬 실행 파일이 들어있는 bin 디렉토리가 있습니다. 그 대신 시스템 파이썬 실행 파일의 사용하는 경우, 그 VIRTUALENV의 라이브러리를 사용합니다.
ccnmtldjango 프로젝트는 프로젝트와 같은 이름의 PostgreSQL 데이터베이스를 사용한다고 가정합니다. 그래서, 우리의 예를 들어, 다음 할 것입니다 :
& NBSP; createdb로의 myprojectname
그리고 아예 사용하도록 설정되어
& NBSP; ./ manage.py syncdb
그것은 (등, 사이트, 세션 관리, flatpages) 일반적인 응용 프로그램의에 대한 요구를 장고하고 관리 사용자를 생성 한 테이블을 설치합니다.
./manage.py syncdb는 자동적으로 "example.com"사이트를 설정합니다. 관리 콘솔을 통해 (8000 예를 들어, 로컬 호스트)이 사이트의 도메인으로 변경해야합니다. 에 http : // localhost를 : 8000 / 관리 / 사이트 / 사이트 /. (당신의 응용 프로그램에 대한 중요한 경우)
응용 프로그램은 이제 실행할 준비가 :
& NBSP; ./ manage.py의 runserver
// 로컬 호스트 : 8000 / HTTP에 서버를 시작합니다. 이 응용 프로그램에서 아직 아무것도 없지만 관리자 응용 프로그램은 당신이 syncdb 동안 만든 사용자 계정을 통해, 또는 settings_shared.py에서 WIND_SUPERUSER_MAPPER_GROUPS 목록에 지정된 TLC 사용자 (또는 사람에 바람을 통해 (액세스 할 수 있어야하기 때문에 당신에게 (404)가 제공합니다 것 .) 그래서 가서 HTTP에 로그인 : // localhost를 : 8000 / 관리 /
심지어 응용 프로그램 특정 코드없이 바로 웹에 콘텐츠를 저장할 수 있도록 flatpages가 포함되어 있습니다.
이 점 밖으로부터, 기본 장고 개발이다. 당신은 아마 자신의 응용 프로그램 프로젝트 내 등을 만들 수 ./manage.py의 startApp 작업을 수행 할 수 있습니다.
신선한 체크 아웃을 설정
처음 당신은 SVN / 자식에서 기존 ccnmtl 템플릿 프로젝트를 체크 아웃 :
& NBSP; ./ bootstrap.py
./manage.py의 runserver
표준 장고의 차이점 설치
물론, 라이브러리의 무리 등이 추가되었습니다 전체 VIRTUALENV 일이있다. 당신의 awayre해야한다 표준 장고 프로젝트 (즉, django-admin.py startproject의 결과)에서 약간의 차이가있다.
먼저, 설정을 구성 할 수 dev에와 자극 배포 쉽게하기 위해 분할되었다. 설치 일반 장고는 모든 설정을 포함하는 하나의 settings.py 파일이있을 것이다. 장고 개발자는 일반적으로 그 설정 파일을 복사 및 생산에 배포 할 때 수정을가합니다. ccnmtldjango는 설정은 단지 파이썬 코드이며, 수입 대체 될 수 있다는 사실을 이용합니다. 그래서 우리는 대부분의 설정을 포함하는 settings_shared.py 있습니다. (개발에 사용한다) 다음 settings_shared.py에서 모든 것을 가져 settings_production.py settings.py. settings_production.py는 또한 생산 배치 (템플릿 및 미디어 파일에 일반적으로 경로)에서 달라야합니다 설정을 무시합니다.
TransactionMiddleware은 기본적으로 활성화되어 있습니다. 이는 각각의 HTTP 요청이 커밋 또는 요청이 끝날 때 트랜잭션 롤백을 얻는 것을 의미한다. 어떤 이유에 대한 기본 장고 설정은 HTTP 요청의 독립적 인 각각의 데이터베이스 작업 자체 트랜잭션에서 실행 일 "자동 커밋"스타일을, 않습니다.
다른 큰 차이점은 최상위 템플릿 디렉토리입니다 알고 있어야합니다. 표준 장고 절차는 해당 응용 프로그램에 대한 템플릿이 포함되어 프로젝트의 각 응용 프로그램에서 템플릿 디렉토리를하는 것입니다. ccnmtldjango는 몇 가지 이유로 최상위 템플릿 디렉토리를 가지고있다. paster 단지 프로젝트 레벨 디렉토리가 아닌 애플리케이션 디렉토리를 작성하기 첫째, 그것은 등등 기본 base.html, 관리 / login.html, 등록 / login.html 등을 포함해야하는 유일한 방법이다. 나는 또한 단지 특히 base.html 템플릿, 프로젝트 수준의 템플릿 디렉토리를 갖는 방법 등을들 수있다. 장고 예측 가능한 순서로를 통해 여러 템플릿 디렉토리 및 검색을 할 수 있습니다, 그래서 당신은 할 수 있습니다 (아마한다) 여전히, 응용 프로그램 수준 템플릿 디렉토리를 작성할 앞서 프로젝트 레벨 1의 TEMPLATE_DIRS에 해당 목록을 나열하고, 당신이 그에서 원하는 템플릿을 대체합니다.
국제화는 우리가 다국어 물건을 수행하는 것이 매우 드문 이후 해제하고 그것이 사용하고 있지 않다면 그것을 활성화하기 위해 충돌 성능 형입니다. 당신이 다국어 장고 사이트를 수행해야하는 경우, 그냥 다시 활성화 및 작동시킬 수
이 요구 사항 :있다.
파이썬
댓글을 찾을 수 없습니다