2013-07-07 1 views
15

그래서 마침내 들어와서 South를 잡았습니다. 문제는 때마다 내가Django South Error : "myapp '과 일치하는 응용 프로그램이 없습니다."

"There is no enabled application matching 'myapp'" 

내가 tried--

는 삼중 내 설정을 확인 내가 한 한 --Things 오류를 얻을

"python manage.py schemamigration myapp --initial" 

을 튜토리얼을 따라 실행하려고한다 파일, django 쉘에서 Import South를 실행해도 오류가 발생하지 않으며, manage.py containing 폴더를 PYTHONPATH와 wsgi.py 및 settings.py에 추가했습니다.

나는 python manage.py와 python C : \ path \ to \ manage.py 변형을 실행했으며 파이썬 디렉토리에 들어가서 south가 site-packages 폴더에 있는지도 확인했다. syncdb는 잘 실행되고 "동기화되지 않음 (마이그레이션 사용)"으로 끝납니다. python manage.py migrate는 오류를 반환하지 않고 실행되지만 그렇지 않으면 아무 효과가없는 것처럼 보입니다. syncdb를 실행하기 전후에 명령을 실행 해 보았습니다. 결과에 아무런 영향을 미치지 않습니다.

잠재적으로 관련 info--

장고 1.5.1 --Other, 파이썬 2.7, 다른 외부 응용 프로그램을 사용하지, 윈도우 7 64 비트, 파이썬은 윈도우 경로에 추가되고, 남쪽은 파이썬 setup.py를 통해 설치 설치 명령. 설치가 성공적으로 완료되었습니다. 나는 virtualenv를 사용하지 않으며, 현재 프로젝트의 설정과 낭비되는 시간을 리펙토링하는 것을 의미하기 때문에 이것을 피하는 것을 선호합니다. 나는 미래에 virtualenv 설정으로 이동할 계획이지만, 지금은 그렇지 않습니다.

무슨 일 이니? 이 문제를 어떻게 해결할 수 있습니까? 인터넷 검색은 전혀 좋은 정보를 밝히지 않았고, 나는 완전히 잃어 버렸습니다. ...

+13

은'INSTALLED_APPS'에서'myapp''입니까? 'myapp/models.py'가 존재합니까? – second

+0

그것은 존재하지 않으며 정말로 없어야합니다. 'myapp'가 프로젝트의 이름입니까, 맞지 않습니까? 남쪽은 프로젝트 내의 특정 앱에만 적용됩니까? 나 자신의 model.py 파일과 함께 적어도 6 개의 사용자 지정 응용 프로그램이 있습니다. 대신 전체 프로젝트에 적용하기 위해 실행해야하는 명령이 있습니까? – Dreadicon

+1

@second, 나는 내가 지금 잘못하고있는 것을 알고 있다고 생각합니다. 장고 프로젝트에서 장고 APP 용 명령을 사용하려고했습니다. 내가 잘못 본 것이 아니라면, python manage.py migrate는 전체 프로젝트와 같은 일을하는 명령입니다. 그래도 각각의 응용 프로그램에 대한 마이그레이션을 먼저 실행해야만 초기화 할 수 있습니까? 정식 해답을 추가하면 가장 좋은 해답으로 표시 할 수 있습니다. 시간과 도움에 감사드립니다! – Dreadicon

답변

3

애플 리케이션마다 마이그레이션이 존재합니다. 각 앱마다 고유 한 이전이있을 수도 있고 없을 수도 있지만 사용하려는 각 앱에 대해 각 앱을 만들어야합니다. (종종 모든 응용 프로그램)

./manage.py migrate는 settings.py

3

확인 마이그레이션을 실행하는 바로 가기 : 그것은이다 사우스 캐롤라이나가 앱을 가져 오려고 할 때,하지만 앱의 models 모듈을 가져 오려고 할 때 던져지지 않습니다. 디렉토리 models/하지 않기 때문에

  • 아마도 그것은 (당신이 INSTALLED_APPS에 이름을 추가하지 않았기 때문에) 파일 models.py이 존재하지 않기 때문에,
  • 아마도 그것은 models 모듈을 가져올 수 없습니다 응용 프로그램을 가져 오거나 수 없습니다 __init__.py을 포함합니다.

사우스는 models 모듈 자체를 가져 오지 않습니다. 대신, 해당 작업을 django.db.models.get_app('app_of_interest')으로 남겨 둡니다. docstring에 따르면 "주어진 app_label에 대한 모델을 포함하는 모듈을 반환합니다." 실제로 get_app에 의해 발생한 오류 메시지는 앱 또는 모델 가져 오기에 실패했는지 여부에 따라 다르지만 예외는 모두 ImproperlyConfigured이고 schemamigrations 스크립트는 그보다 더 자세히 보이지 않습니다.

South는 보안 업데이트 만 허용한다고 말합니다. (Django 1.7의 마이그레이션 기능으로 수명이 다 했음), 코드베이스에 수정 사항을 제출하지 않고 문제를 문서화합니다.

7

이 오류는 오해의 소지가 될 수있는 INSTALLED_APPS에서 응용 프로그램 이름을 포함 시켰습니다 여부를하면 모든 앱에 대한

관련 문제