2010-03-12 2 views
3

저는 로컬로 개발중인 저의 작은 장고 프로젝트로 상당히 빠르게 성장했습니다. 그러나 이전에는 장고를 사용 해본 적이 없기 때문에 업로드하기 전에 프로덕션 서버에서 테스트한다는 것을 알지 못합니다. 그리고 저는 매우 초기에 릴리스 된 라이브를 테스트하기 위해 매우 열심 인 이래로 매우 궁금합니다. 계정에 내가해야 어떤 세부 사항 중 및 배포 전후가, http://djangobook.com/en/2.0/chapter12/라이브 (준비) 사이트에 장고 프로젝트를 배포하는 것이 얼마나 고통 스럽습니까?

을하지만 : 나는 그것이 정말 도움이 될 거라 생각 나는이 문서가 알고

? 조언이나 권장 사항이 있습니까?

감사합니다.

+0

올바른 대답으로 표시하는 데 문제가 있습니다 ... 위키 질문 일 수 있다면 좋겠어요. 더 많은 답변도 환영합니다. – Nacho

답변

6

개발 환경을 가능한 한 전개 환경과 가깝게 만드십시오. 이는 예를 들어 SQLite 및 내장 서버 대신 PostgreSQL 및 mod_wsgi. 이 소프트웨어는 무료이므로 손을 대볼 수 없습니다.

+0

그 조언은 모든 언어의 모든 dev./acceptation 환경에 적용됩니다 :) – extraneon

+0

고마워, 그건 분명히 좋은 조언이야. * 내장 서버 및 sqlite에서 실행 중입니다. D – Nacho

+0

+1 - 빠른 프로토 타이핑을 위해 내장 서버 + sqlite를 사용합니다. 그러나 Dev + Staging/Test + Production 환경의 일치하는 세트를 " 진짜 "소프트웨어 셋업. – Frozenskys

1

데이터베이스 모델의 변경이 많은 것으로 생각됩니다. Django는 syncdb를 사용하여 새로운 컬럼을 추가하거나이를 수행하는 스크립트를 생성 할 수 있습니다. 그러나 컬럼을 제거하지는 않으며 더 이상 적용하지 않더라도 데이터베이스에서 외래 키 제약 조건을 제거하지는 않을 것입니다.

은 그래서 데이터베이스 마이그레이션은 최고의 대본을 수행하고, 프로덕션 데이터베이스의 사본 또는 밀접하게 생산 데이터 (물론 같은 스키마)를 닮은 설정 일부 데이터를 테스트 할 수 있습니다. 도메인의 하위 디렉토리에 귀하의 사이트를 제공하는 경우

+0

syncdb로 새 열을 추가하는 방법 ? 그것은 새로운 기능입니까? –

+0

python manage.py syncdb – extraneon

2

당신은 문제가 실행할 수 있습니다 손으로 절대 URL을 작성하지 않도록, 대신 url 태그를 사용합니다.

데이터베이스의 초기 데이터를 사용하는 경우 fixtures을 사용하십시오. 서버가 여러 사이트에 사용되는 경우

, 다른 사이트와 종속 관계의 충돌을 방지하기 위해 Virtualenv로 사이트를 포장 고려해보십시오.

놀라움을 피하기 위해 개발 및 프로덕션 서버에서도 동일한 데이터베이스 시스템을 사용해야합니다. 그들은 쉽게 재현 스크립트 배포를 허용로 south 같은

+0

감사합니다. 훌륭한 조언도 있습니다. url 태그를 사용하고 있습니다. 비품은 아직 작동하지 않습니다. – Nacho

2

사용 뭔가, 데이터베이스 마이그레이션 통증을 제거하고 합리적으로 복잡한 프로젝트를 (또는 이러한 도구를 배울 수있는 시간이) 경우 배포 buildout 또는 fabric 같은 것을 고려합니다.

관련 문제