2014-09-06 4 views
4

Django 1.7을 사용하고 있으며 새로운 마이그레이션으로 인해 이상한 문제가 있습니다. Django 1.7 마이그레이션이 선택되지 않았습니다.

나는 내가 항상 이전 버전 1.7 등을 수행 한 3 개 개의 파일 ...

from .base import * 

if sys.argv[1] == 'runserver': 
    from .development import * 
else: 
    from .production import * 
development.py

production.py가이

/settings 
    __init__.py 
    base.py 
    development.py 
    production.py 

__init__.py로 최대 파일 내 설정을 분할 거기에 대한 자신의 데이터베이스 설정. 그러나 마이그레이션을 실행하는 새로운 마이그레이션 시스템에서는 base.py 파일에 데이터베이스 설정을 입력하지 않는 한 아무 것도 감지하지 못합니다.

if sys.argv[1] == 'runserver' or sys.argv[1] == 'migrate': 

또는 거기에 더 나은 방법 :

나는 다음이 줄을 modifity해야 하는가?

답변

3

이 같은 경우 runserver으로 테스트 할 때 당신은 설정 파일에 로직을 추가하지 체 --settings에게 옵션을 사용하는 것이 좋습니다 : 당신은 또한 설정을 전환 할 환경 변수 DJANGO_SETTINGS_MODULE을 사용할 수 있습니다

./manage.py --settings=project.settings.development runserver 

모듈 장고에 의해 사용됩니다. 개발에

는 설정할 수 환경 : 생산에 당신이 DJANGO_SETTINGS_MODULE = project.settings.production을 설정할 수

export DJANGO_SETTINGS_MODULE=project.settings.development 

동안.

자세한 내용은 사용중인 배포 및 서버 유형에 따라 다릅니다.

개인적으로 내 개발 설정에서 나는 virtualenv wrapper 사용하고, 나는 이런 식으로 뭔가 함께 postactivate 후크 설정 : 내가 입력 할 수 있습니다

#!/bin/bash 
# This hook is run after this virtualenv is activated. 
export DJANGO_SETTINGS_MODULE=project.settings.local 
cd /home/user/develop/git/project 

이러한 방법을

workon 프로젝트

그리고 환경 변수가 올바르게 설정되어 있고 셸이 올바른 폴더로 보냈습니다.

from .base import * 

DATABASES = ... customize DB settings used for development/production ... 
:

당신은 설정이 모든 일반적인 설정 정보 파일 base.py을 가질 수 있습니다, 다음 development.py (및 production.py) 당신은 이런 식으로 뭔가를 할 수

관련 문제