Django 모델 "명시적인 app_label을 선언하지 않음"


119

나는 재치의 끝이다. 수십 시간의 문제 해결을 마치고 아마 더 많은 시간을 들여 마침내 사업에 들어갔다고 생각했지만 다음과 같은 결과를 얻었습니다.

Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label 

웹에 이것에 대한 정보가 너무 적으며 해결책이 내 문제를 해결하지 못했습니다. 어떤 조언이라도 대단히 감사하겠습니다.

저는 Python 3.4와 Django 1.10을 사용하고 있습니다.

내 settings.py에서 :

INSTALLED_APPS = [
    'DeleteNote.apps.DeletenoteConfig',
    'LibrarySync.apps.LibrarysyncConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

내 apps.py 파일은 다음과 같습니다.

from django.apps import AppConfig


class DeletenoteConfig(AppConfig):
    name = 'DeleteNote'

from django.apps import AppConfig


class LibrarysyncConfig(AppConfig):
    name = 'LibrarySync'

2
INSTALLED_APPS에 django.contrib.contenttypes가 없습니다.
RemcoGerlich

2
그런 다음 다른 가능성이있는 것은 모델이로드되기 전에 가져온 것입니다. INSTALLED_APPS의 콘텐츠 유형 앞에 나열된 일부 앱이이를 사용하고 있습니까?
RemcoGerlich 2016 년

1
특이한 일입니다. 자신의 프로젝트 나 앱이 전혀 없습니까?
RemcoGerlich 2016 년

1
models.py가있는 모든 것은 INSTALLED_APPS에 있어야합니다. 그리고 그들 중 하나가 (일반적인 외래 키 때문에) contenttype을 사용한다면 목록의 contenttypes 아래에 있어야합니다.
RemcoGerlich 2016 년

1
실망 스럽지만 매우 작지만 여기서 어디에서인지 말하기는 어려울 것입니다. settings.py에서 항목을 가져 오나요?
RemcoGerlich

답변:


91

설정 파일에 응용 프로그램 이름을 넣지 않았습니까? 는 myAppNameConfig에 의해 apps.py에서 생성 된 기본 클래스입니다 .manage.py createapp의 myAppName의 명령. 여기서 myAppName 은 앱의 이름입니다.

settings.py

INSTALLED_APPS = [
'myAppName.apps.myAppNameConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

이렇게하면 설정 파일이 응용 프로그램을 호출 할 항목을 찾습니다. 다음 코드를 추가하여 apps.py 파일에서 나중에 표시되는 방식을 변경할 수 있습니다.

myAppName / apps.py

class myAppNameConfig(AppConfig):
    name = 'myAppName'
    verbose_name = 'A Much Better Name'

좋습니다. 예를 들어 보면이 방법이 상당히 의미가 있습니다. 이제 구문에 대한 이해를 바탕으로 변경 사항을 구현했지만 여전히 똑같은 오류가 100 % 발생합니다. 정교하게 게시물을 업데이트했습니다.
Slbox

2
도움을 주신 @xeberdee와 @RemcoGerlich에게 감사드립니다. 결국 내 솔루션은 django.contrib 앱 아래에 내 앱을로드하고 내 항목을 항목 import django django.setup()아래로 내 settings.py 로 이동하는 것이 었습니다 INSTALLED_APPS.
Slbox

2
호기심에서-설정 파일에서 django django.setup ()을 가져 오는 이유는 무엇입니까? 또한 설치된 앱 목록에서 첫 번째 앱이라도로드해야합니다.
Xeberdee

1
이것과 그가 그의 질문에서 쓴 것의 차이점은 무엇입니까?
Matt D

1
요점은 구성 파일의 클래스 이름 필드를 통해 INSTALLED_APPS 설정에서 앱이 발견되는 방법이었습니다. 게시물이 수정되었습니다.
Xeberdee

36

동일한 오류가 발생하고이 문제를 해결하는 방법을 모릅니다. django의 manage.py와 동일한 디렉토리에 init.py가 있다는 것을 알아 차리는 데 많은 시간이 걸렸습니다.

전에:

|-- myproject
  |-- __init__.py
  |-- manage.py
  |-- myproject
    |-- ...
  |-- app1
    |-- models.py
  |-- app2
    |-- models.py

후:

|-- myproject
  |-- manage.py
  |-- myproject
    |-- ...
  |-- app1
    |-- models.py
  |-- app2
    |-- models.py

"명시적인 app_label을 선언하지 않음"오류가 발생하는 것은 매우 혼란 스럽습니다. 그러나이 초기화 파일을 삭제하면 내 문제가 해결되었습니다.


2
이런 담배, 나는 이것을 오랫동안보고 있었다-대단한 캐치!
user3167654

pydoc을 사용하여 문서를 생성하려고하는데 내 앱은 init.py없이 숨겨져 있습니다.
Serg Smyk

20

PyCharm으로 테스트를 실행할 때 똑같은 오류가 발생했습니다. DJANGO_SETTINGS_MODULE환경 변수 를 명시 적으로 설정하여 수정했습니다 . PyCharm을 사용하는 경우 구성 편집 버튼을 누르고 환경 변수를 선택하십시오 .

변수를로 설정하면 your_project_name.settings문제가 해결됩니다.

PyCharm이 자체적으로 테스트를 실행하기 때문에이 오류가 발생하는 것 같습니다 manage.py.


1
Pycharm을 통해 서버를 실행하면 설정을 추가 할 필요가 없었지만 Pycharm 테스트를 실행하는 데이 문제가 발생했습니다. 수동으로 DJANGO_SETTINGS_MODULE을 테스트 구성에 추가하면 해결됩니다.
PhoebeB

1
또한 구성을 편집 할 때 템플릿을 편집하는 것이 유용합니다.
Yngve Høiseth

1
설정-> 언어 및 프레임 워크-> Django-> 설정 아래에 값을 추가하면 DJANGO_SETTINGS_MODULE각각의 새로운 Django 및 Django 테스트 실행 구성에 대해 자동으로 설정됩니다 .
Tobias Ernst

참고로이 솔루션에 표시된대로 정확하게 수행했지만 처음에는 작동하지 않았습니다. PyCharm은 저장하지 않았다, 알고 보니 DJANGO_SETTINGS_MODULE내가 클릭하면 처음 Apply다음 OK. 두 번째로했는데 이제는 작동합니다. 약간의 PyCharm 이상한 것 같습니다.
MikeyE

수입을 올바르게 선언했는지 확인해야했습니다. from <app>.<module> import <class>-PyCharm auto import was missing <app>. 이것을 수정하면 (종속 모듈도 확인) 정상적으로 작동했습니다.
Matthew Hegarty

18

나는 이것을 사용할 때 ./manage.py shell 실수로 루트 프로젝트 수준 디렉토리에서 가져 왔습니다.

# don't do this
from project.someapp.someModule import something_using_a_model
# do this
from someapp.someModule import something_using_a_model

something_using_a_model()

메신저 내 경우에서 변경 from fields import x해야했습니다from .fields import x
daigorocub

13

Python3을 사용하는 멍청한 사람으로서 Django 오류 대신 가져 오기 오류 일 수 있음 을 알았습니다 .

잘못된:

from someModule import someClass

권리:

from .someModule import someClass

며칠 전에 이런 일이 발생했지만 실제로 재현 할 수 없습니다 ... Django를 처음 접하는 사람들 만이 문제를 접할 수 있다고 생각합니다.

admin.py에 모델 등록을 시도하십시오 :

from django.contrib import admin
from user import User
admin.site.register(User)

서버를 실행하려고하면 오류는 다음과 같습니다.

some lines...
File "/path/to/admin.py" ,line 6
tell you there is an import error
some lines...
Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label

변화 user하는 .user, 문제가 해결


9
stackoverflow에 오신 것을 환영합니다! 귀하의 답변이 OP의 질문과 관련이 없음을 언급해야한다고 생각합니다. 멍청한 사람으로서 먼저 정확성을 확인하지 않고 신중하게 솔루션을 제안해야합니다. 하지만 계속 돌아와서 가능한 한 구체적인 답변을 게시 해주세요. 감사합니다!
evadeflow

1
Stack에 대한 더 많은 의견이 Xeon Phil과 같았 으면합니다. 너무 자주 신규 사용자는 첫날에 스택 전문가가 아니라는 것에 불만을 품은 광적인 댓글 작성자에 의해 쫓겨납니다.
Slbox

1
당신이 맞아요, @evadeflow, 내 첫 번째 대답은 정말 관련이 없어 보입니다. 나는 대답을 명확히하려고 노력합니다. 어쨌든 대답이 유용 할 수 있기를 바랍니다.
rpstw

제 경우에도 비슷한 문제였습니다. 'from ..core.models import CommonInfo'는 'from apps.core.models import CommonInfo'가되어야했습니다.
user42488

이것은 두 개의 별도 파일에서 발생했기 때문에 모호한 내 문제였습니다. Dang you, 중첩 수입품! Dang you, 2to3의 현명한 변화에 대한 나의 어리석은 거절!
9999 년

13

나는 지금 바로 같은 문제가 있었다. 앱 이름에 네임 스페이스를 추가하여 내 문제를 해결했습니다. 누군가가 도움이되기를 바랍니다.

apps.py

from django.apps import AppConfig    

class SalesClientConfig(AppConfig):
        name = 'portal.sales_client'
        verbose_name = 'Sales Client'

8

테스트에서 모델을 가져올 때이 오류가 발생했습니다. 즉이 Django 프로젝트 구조가 주어졌습니다.

|-- myproject
    |-- manage.py
    |-- myproject
    |-- myapp
        |-- models.py  # defines model: MyModel
        |-- tests
            |-- test_models.py

이 방법으로 test_models.py가져온 파일 MyModel에서 :

from models import MyModel

이 방법으로 가져 오면 문제가 수정되었습니다.

from myapp.models import MyModel

도움이 되었기를 바랍니다!

추신 : 아마도 이것은 조금 늦었을 수도 있지만 다른 사람들은 내 코드 에서이 문제를 해결하는 방법에 대한 답변을 찾지 못했고 솔루션을 공유하고 싶습니다.


juliocesar 당신은 챔피언입니다. 감사. 이것은 말도 안되는 오류였습니다.
Kirk

2
이것을 찾는 데 예상보다 오래 걸렸습니다. 내 test.py 파일에서 상대 가져 오기를 사용하고있었습니다. 를 사용할 때 오류가 발생했습니다 from .models import MyModel. 변경 from myapp.models import MyModel하여 문제를 해결했습니다.
monkut

@monkut 여기도 동일합니다. 왜 이런 일이 일어나는지 궁금합니다. 그런데 사용자 지정 앱 폴더를 사용합니다. 프로젝트 루트의 "/ apps"가 경로에 추가되었습니다.

4

이 문제에 계속해서 들어가고이 질문으로 계속 돌아온 후에 나는 내 문제가 무엇인지 공유 할 것이라고 생각했습니다.

@Xeberdee의 모든 것이 정확하므로 내 문제가 아니라면 문제가 해결되는지 확인하십시오.

내 apps.py에서 이것은 내가 가진 것입니다.

class AlgoExplainedConfig(AppConfig):
    name = 'algo_explained'
    verbose_name = "Explain_Algo"
    ....

그리고 내가 한 것은 다음과 같이 내 앱 이름 앞에 프로젝트 이름을 추가하는 것뿐입니다.

class AlgoExplainedConfig(AppConfig):
name = '**algorithms_explained**.algo_explained'
verbose_name = "Explain_Algo"

그리고 그것은 내 문제를 해결했고 그 후에 makemigrations와 migrate 명령을 실행할 수있었습니다! 행운을 빕니다


3

from .models import *내 파일 중 하나 에서 축약 형 구문을 사용했기 때문에 Django 테스트를 실행하려고 할 때 오늘이 오류가 발생했습니다 . 문제는 다음과 같은 파일 구조가 있다는 것입니다.

    apps/
      myapp/
        models/
          __init__.py
          foo.py
          bar.py

그리고 models/__init__.py속기 구문을 사용하여 모델을 가져 왔습니다.

    from .foo import *
    from .bar import *

내 응용 프로그램에서 다음과 같은 모델을 가져 왔습니다.

    from myapp.models import Foo, Bar

이로 인해 Django model doesn't declare an explicit app_label실행할 때./manage.py test .

문제를 해결하기 위해 다음의 전체 경로에서 명시 적으로 가져와야했습니다 models/__init__.py.

    from myapp.models.foo import *
    from myapp.models.bar import *

그것은 오류를 처리했습니다.

H / t https://medium.com/@michal.bock/fix-weird-exceptions-when-running-django-tests-f58def71b59a


이것은 나에게도 문제였습니다. 감사!
Sam Creamer

3

내가 프로젝트 수준에서 상대 모듈 경로를 사용하기 때문에 내 경우에는,이 일어나고 urls.py를 , INSTALLED_APPS그리고 apps.py대신의 프로젝트 루트에 뿌리된다. 즉, 상대 모듈 경로 + 해킹이 아닌 전체 모듈 경로입니다.

아니 얼마나의 경로를 엉망 I 중요 INSTALLED_APPS하고 apps.py내 응용 프로그램에서, 난 둘 수 없었다 runserverpytest그 셋 모두 프로젝트 루트에 뿌리를두고 있었다 때까지 작업에.

폴더 구조 :

|-- manage.py
|-- config
    |-- settings.py
    |-- urls.py
|-- biz_portal
    |-- apps
        |-- portal
            |-- models.py
            |-- urls.py
            |-- views.py
            |-- apps.py

다음으로, 나는 실행할 수 manage.py runserver및 WSGI 및 사용에 gunicorn portal문제없이 응용 프로그램보기 만 pytest 함께 오류 것 ModuleNotFoundError: No module named 'apps'에도 불구하고DJANGO_SETTINGS_MODULE 올바르게 구성 합니다.

config / settings.py :

INSTALLED_APPS = [
    ...
    "apps.portal.apps.PortalConfig",
]

biz_portal / apps / portal / apps.py :

class PortalConfig(AppConfig):
    name = 'apps.portal'

config / urls.py :

urlpatterns = [
    path('', include('apps.portal.urls')),
    ...
]

에서 응용 프로그램 참조를 변경 설정 / settings.py에 biz_portal.apps.portal.apps.PortalConfigPortalConfig.namebiz_portal.apps.portal실행할 수 pytest (나는에 대한 시험이 없습니다 portal아직 뷰) 만 runserver에 오류 것

RuntimeError : 모델 클래스 apps.portal.models.Business가 명시적인 app_label을 선언하지 않았고 INSTALLED_APPS의 애플리케이션에 없습니다.

마지막으로 apps.portal상대 경로를 계속 사용하고있는 항목을 확인하고 config / urls.py도 biz_portal.apps.portal.urls.


상대 경로가있는 해킹 ......... 동일했습니다. 귀하의 통찰력은 저에게 많은 도움이되었습니다
zar3bski

2

git 병합으로 인해 기존의 잘못된 마이그레이션이있는 단일 앱에 대한 마이그레이션을 생성하려고 할 때이 오류가 발생했습니다. 예 :

manage.py makemigrations myapp

내가 삭제했을 때 마이그레이션을 실행하고 다음을 실행했습니다.

manage.py makemigrations

오류가 발생하지 않았고 마이그레이션이 성공적으로 생성되었습니다.


감사합니다. 마이그레이션은 계속해서 실망 스럽습니다.
HashRocketSyntax

2

비슷한 문제가 있었지만 모델 클래스에서 Meta Class를 사용하여 app_label을 명시 적으로 지정하여 내 문제를 해결할 수있었습니다.

class Meta:
    app_label  = 'name_of_my_app'

감사합니다 Benjamin! Django 프로젝트에서 저는 Sphinx를 사용하여 문서를 생성하고 있으며, 제안한대로 Model의 Meta 클래스에 추가 할 때까지 :: autoclass 지시문에 "app_label"오류가 발생했습니다.
Stefan Musarra

그것이 당신을 위해 일
했다는


1

나는 방금이 문제를 만났고 무엇이 잘못되었는지 알아 냈습니다. 이전 답변이 나에게 발생한 문제를 설명하지 않았기 때문에 다른 사람을 위해 게시 할 것입니다.

  • python migrate.py startapp myApp내 프로젝트 루트 폴더 에서 사용하여 문제가 발생한 다음 myApp을 하위 폴더로 이동하십시오.mv myApp myFolderWithApps/ .
  • myApp.models를 작성하고 실행했습니다. python migrate.py makemigrations . 모든 것이 잘되었습니다.
  • 그런 다음 myApp에서 모델을 가져 오는 다른 앱에서도 동일한 작업을 수행했습니다. 카붐! makemigration을 수행하는 동안이 오류가 발생했습니다. 내가 사용해야했기 때문에myFolderWithApps.myApp내 앱을 참조하는 했지만 MyApp / apps.py를 업데이트하는 것을 잊었 기 때문입니다. 그래서 두 번째 앱에서 myApp / apps.py, settings / INSTALLED_APPS 및 가져 오기 경로를 수정했습니다.
  • 그러나 오류가 계속 발생했습니다. 이유는 잘못된 경로로 myApp에서 모델을 가져 오려고 마이그레이션했기 때문입니다. 마이그레이션 파일을 수정하려고했지만 DB를 재설정하고 마이그레이션을 삭제하여 처음부터 시작하는 것이 더 쉬운 지점으로 이동했습니다.

짧게 말하면 :-문제는 처음에 myApp의 apps.py, 설정 및 두 번째 앱의 가져 오기 경로에있는 잘못된 앱 이름에서 발생했습니다. -그러나 잘못된 앱 이름을 참조하는 가져 오기로 마이그레이션이 생성 되었기 때문에이 세 위치의 경로를 수정하는 것만으로는 충분하지 않았습니다. 따라서 마이그레이션하는 동안 동일한 오류가 계속 발생했습니다 (이번 마이그레이션에서 제외).

그러니 ... 마이그레이션을 확인하고 행운을 빕니다!


1

Django rest_framework에서 API를 빌드하는 동안 비슷한 오류가 발생했습니다.

RuntimeError : 모델 클래스 apps.core.models.University가 명시 적> app_label을 선언하지 않고 INSTALLED_APPS의 애플리케이션에 없습니다.

luke_aus의 답변은 내 urls.py 를 수정하여 나를 도왔습니다.

...에서

from project.apps.views import SurgeryView

from apps.views import SurgeryView

저에게는 마이그레이션에 숨겨져있었습니다. 어떻게 일어 났는지 확실하지 않지만 프로젝트 이름 / 경로를 제거하면 문제가 해결되었습니다.
Michael Thompson

1

제 경우에는 Django 1.11.11에서 Django 2.2로 코드를 이식 할 때이 오류가 발생했습니다. 사용자 지정 FileSystemStorage 파생 클래스를 정의했습니다. Django 1.11.11에서는 models.py에 다음 줄이 있습니다.

from django.core.files.storage import Storage, DefaultStorage

나중에 파일에 클래스 정의가 있습니다.

class MyFileStorage(FileSystemStorage):

그러나 Django 2.2에서는 FileSystemStorage가져올 때 명시 적으로 클래스를 참조해야합니다 .

from django.core.files.storage import Storage, DefaultStorage, FileSystemStorage

그리고 voilà !, 오류가 사라집니다.

모든 사람들이 Django 서버에서 뱉은 오류 메시지의 마지막 부분을보고하고 있습니다. 그러나 위로 스크롤하면 해당 오류 mambo-jambo의 중간에서 이유를 찾을 수 있습니다.


1

제 경우에는 수정 사항을 찾을 수 있었고 다른 모든 사람의 코드를 살펴보면 동일한 문제 일 수 있습니다. 저는 settings.py의 설치된 앱 목록에 'django.contrib.sites'를 추가하기 만하면됩니다. 파일.

이것이 누군가를 돕기를 바랍니다. 이것은 코딩 커뮤니티에 대한 저의 첫 번째 기여입니다.


1

요약 :__init__.py를 추가 하면 문제가 해결되었습니다.

PyCharm에서이 오류가 발생했고 내 설정 파일을 전혀 가져 오지 않았 음을 깨달았습니다. 이것을 알려주는 명백한 오류는 없었지만 settings.py에 말도 안되는 코드를 넣었을 때 오류가 발생하지 않았습니다.

내가 가지고 settings.py , 안쪽 local_settings에의 폴더에 저장합니다. 그러나 나는 그것을 가져올 수 있도록 같은 폴더에 __init__.py 를 포함하도록 포기 했습니다. 이것을 추가하면 오류가 사라졌습니다.


1

모든 구성이 올바르다면 가져 오기가 엉망 일 수 있습니다. 문제가되는 모델을 어떻게 가져 오는지 주시하십시오.

다음은 작동하지 않습니다 from .models import Business. 대신 전체 가져 오기 경로를 사용하십시오.from myapp.models import Business


1

다른 모든 방법이 실패하고 PyCharm "Python 콘솔"(또는 "Django 콘솔")에서 가져 오는 동안이 오류가 표시되는 경우 :

콘솔을 다시 시작하십시오.

이것은 꽤 부끄럽지만 내가 그것을 잊었다는 것을 깨닫기까지는 시간이 걸렸습니다.

다음은 일어난 일입니다.

새로운 앱을 추가 한 다음 최소 모델을 추가 한 다음 Python / Django 콘솔 (PyCharm pro 2019.2)에서 모델 가져 오기를 시도했습니다. 이는 제기 doesn't declare an explicit app_label나는 새 응용 프로그램을 추가하지 않았기 때문에, 오류 INSTALLED_APPS. 그래서 앱을에 추가하고 INSTALLED_APPS가져 오기를 다시 시도했지만 여전히 동일한 오류가 발생했습니다.

여기에 와서 다른 모든 답을 읽어 보았지만 맞는 것 같지는 않았습니다.

마지막으로 .NET에 새 앱을 추가 한 후 Python 콘솔을 아직 다시 시작하지 않았다는 사실이 저에게 충격을 받았습니다 INSTALLED_APPS.

참고 : 모듈에 새 개체를 추가 한 후 PyCharm Python 콘솔을 다시 시작하지 않는 것도 매우 혼란스러워 질 수있는 좋은 방법입니다. ImportError: Cannot import name ...


이 답변 주셔서 감사합니다, 나는 내 소스 깜빡 .env파일을 내가 사용되지 않는 구성으로 가지 작업을 만들기 위해 최선을 다하고 있었다 : /
sodimel

1

O ... M ... G 저도이 오류를 받고 있었고 거의 이틀을 보냈고 이제 마침내 해결했습니다. 솔직히 ... 오류는 문제와 관련이 없습니다. 제 경우에는 구문의 간단한 문제였습니다. django 컨텍스트에서 일부 django 모델을 사용하는 Python 모듈을 독립 실행 형으로 실행하려고했지만 모듈 자체는 django 모델이 아닙니다. 그러나 나는 수업을 잘못 선언했다.

갖는 대신

class Scrapper:
    name = ""
    main_link= ""
    ...

나는하고 있었다

class Scrapper(Website):
    name = ""
    main_link= ""
    ...

분명히 잘못된 것입니다. 이 메시지는 너무 오해를 불러 일으키기 때문에 나 자신을 도울 수는 없었지만 구성에 문제가 있거나 장고를 처음 사용했기 때문에 잘못된 방식으로 장고를 사용했다고 생각합니다.

나는 똑같은 어리 석음을 겪고있는 내가 그들의 문제를 해결할 수 있기를 바랍니다.


0

SECRET_KEY환경 변수에서 가져 오기 위해을 이동 하고 응용 프로그램을 실행할 때 설정하는 것을 잊은 후이 오류가 발생 했습니다. 만약 당신이 당신의settings.py

SECRET_KEY = os.getenv('SECRET_KEY')

그런 다음 실제로 환경 변수를 설정하고 있는지 확인하십시오.


0

대부분의 경우 종속 수입품이 있습니다.

필자의 경우 모델의 매개 변수로 serializer 클래스를 사용했고 serializer 클래스는이 모델을 사용했습니다. serializer_class = AccountSerializer

from ..api.serializers import AccountSerializer

class Account(AbstractBaseUser):
    serializer_class = AccountSerializer
    ...

그리고 "serializers"파일에서 :

from ..models import Account

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Account
        fields = (
            'id', 'email', 'date_created', 'date_modified',
            'firstname', 'lastname', 'password', 'confirm_password')
    ...

0

오늘이 오류가 발생하여 인터넷 검색 후 여기에 왔습니다. 기존 답변 중 어느 것도 내 상황과 관련이없는 것 같습니다. 내가해야 할 일은 __init__.py앱의 최상위 레벨에있는 파일에서 모델을 가져 오는 것뿐이었습니다 . 모델을 사용하여 가져 오기를 함수로 이동해야했습니다.

Django는 매우 다양한 시나리오에서 이와 같이 실패 할 수있는 이상한 코드를 가지고있는 것 같습니다!


0

오늘도이 오류가 발생했습니다. 일부 특정 응용 프로그램에 참조되는 메시지 내 애플 리케이션INSTALLED_APPS . 하지만 사실이 특정 앱과는 아무 관련이 없습니다. 새로운 가상 환경을 사용했고이 프로젝트에서 사용한 라이브러리를 설치하는 것을 잊었습니다. 추가 라이브러리를 설치 한 후 작동했습니다.


0

PyCharm 사용자 : "깨끗한"프로젝트 구조를 사용하지 않는 경우 오류가 발생했습니다.

였다:

project_root_directory
└── src
    ├── chat
       ├── migrations
       └── templates
    ├── django_channels
    └── templates

지금:

project_root_directory
├── chat
   ├── migrations
   └── templates
       └── chat
├── django_channels
└── templates

여기에 좋은 해결책이 많이 있지만, DJANGO_SETTINGS_MODULE변수를 설정하기 전에 먼저 프로젝트 구조를 정리하거나 PyCharm Django 설정을 조정해야한다고 생각 합니다.

누군가를 도울 수 있기를 바랍니다. 건배.


-1

문제는 다음과 같습니다.

  1. 모델 파일을 수정했지만 아직 DB에 추가하지 않았지만 Python manage.py runserver를 실행하려고합니다.

  2. Python manage.py makemigrations 실행

  3. Python manage.py 마이그레이션

  4. 이제 Python manage.py runserver 및 모든 것이 정상입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.