Model Django „nie deklaruje jawnej etykiety_aplikacji”


119

Koniec dowcipu. Po kilkunastu godzinach rozwiązywania problemów, prawdopodobnie więcej, myślałem, że w końcu jestem w biznesie, ale potem otrzymałem:

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

W sieci jest TAK MAŁO informacji na ten temat i żadne rozwiązanie nie rozwiązało mojego problemu. Każda rada byłaby ogromnie mile widziana.

Używam Pythona 3.4 i Django 1.10.

Z mojego 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',
]

A moje pliki apps.py wyglądają tak:

from django.apps import AppConfig


class DeletenoteConfig(AppConfig):
    name = 'DeleteNote'

i

from django.apps import AppConfig


class LibrarysyncConfig(AppConfig):
    name = 'LibrarySync'

2
Nie masz django.contrib.contenttypes w INSTALLED_APPS.
RemcoGerlich

2
Inną prawdopodobną rzeczą jest to, że zaimportowałeś go przed załadowaniem modeli, czy jakaś aplikacja jest wymieniona przed typami zawartości w INSTALLED_APPS, używając jej?
RemcoGerlich

1
To niezwykłe, nie masz w ogóle własnego projektu ani aplikacji?
RemcoGerlich

1
Wszystko, co ma models.py, powinno znajdować się w INSTALLED_APPS; a jeśli jeden z nich używa contenttype (np. z powodu ogólnego klucza obcego), to musi znajdować się pod contenttypes na liście.
RemcoGerlich

1
Frustrujące, prawdopodobnie będzie to coś bardzo małego, ale trudno powiedzieć skąd. Czy importujesz jakieś swoje rzeczy do settings.py?
RemcoGerlich

Odpowiedzi:


91

Brakuje Ci umieszczania nazwy aplikacji w pliku ustawień? Jest myAppNameConfigto domyślna klasa generowana w apps.py przez polecenie .manage.py createapp myAppName . Gdzie myAppName to nazwa Twojej aplikacji.

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',
]

W ten sposób plik ustawień określa, co chcesz nazwać swoją aplikacją. Możesz zmienić jego wygląd później w pliku apps.py, dodając następujący kod w

myAppName / apps.py

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

Okay, więc ma to dla mnie dużo sensu w tym przykładzie i zaimplementowałem zmiany w oparciu o moje zrozumienie składni, ale nadal trafiam w 100% dokładnie ten sam błąd. Zaktualizowałem mój post, aby rozwinąć.
Slbox

2
Dziękuję @xeberdee i @RemcoGerlich za ich pomoc w tym. Ostatecznie moim rozwiązaniem było załadowanie moich aplikacji poniżej aplikacji django.contrib i przeniesienie mojego wpisu import django django.setup()w moim settings.py pod INSTALLED_APPSwpis.
Slbox

2
Tak z ciekawości - po co importować django django.setup () w pliku ustawień? Ponadto Twoje aplikacje powinny się ładować, nawet jeśli są pierwszymi na liście zainstalowanych aplikacji.
Xeberdee

1
Jaka jest różnica między tym a tym, co napisał w swoim pytaniu?
Matt D,

1
Chodziło o to, w jaki sposób aplikacja jest wykrywana w ustawieniach INSTALLED_APPS poprzez pole nazwy klasy w pliku konfiguracyjnym. Post został edytowany.
Xeberdee,

36

Otrzymuję ten sam błąd i nie wiem, jak rozwiązać ten problem. Zajęło mi wiele godzin, zanim zauważyłem, że mam plik init.py w tym samym katalogu, co manage.py z django.

Przed:

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

Po:

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

Jest dość zdezorientowany, że otrzymujesz ten błąd „nie deklaruje jawnego błędu app_label”. Ale usunięcie tego pliku init rozwiązało mój problem.


2
Święta dymi, patrzyłem na to tak długo - świetny połów!
user3167654

Próbuję wygenerować dokumentację za pomocą pydoc, a moja aplikacja jest ukryta bez init.py
Serg Smyk

20

Miałem dokładnie ten sam błąd podczas uruchamiania testów z PyCharm. Naprawiłem to, jawnie ustawiając DJANGO_SETTINGS_MODULEzmienną środowiskową. Jeśli używasz PyCharm, po prostu naciśnij przycisk Edytuj konfiguracje i wybierz Zmienne środowiskowe .

Ustaw zmienną na your_project_name.settingsi to powinno rozwiązać problem.

Wygląda na to, że ten błąd występuje, ponieważ PyCharm przeprowadza własne testy manage.py.


1
Wystąpił problem z uruchomieniem Pycharm Tests, chociaż uruchomienie serwera przez Pycharm nie wymagało dodawania ustawień. Ręczne dodawanie DJANGO_SETTINGS_MODULE do konfiguracji do testu rozwiązane, jeśli dla mnie.
PhoebeB

1
Ponadto podczas edycji konfiguracji przydatna jest edycja szablonów.
Yngve Høiseth,

1
Ustawienia -> Języki i frameworki -> Django -> Dodanie wartości w ustawieniach zostanie automatycznie ustawione DJANGO_SETTINGS_MODULEdla każdej nowej konfiguracji uruchamiania testowego Django i Django.
Tobias Ernst

FYI, zrobiłem dokładnie tak, jak wskazuje to rozwiązanie i nie zadziałało za pierwszym razem. Okazuje się, pycharm nie uratowało DJANGO_SETTINGS_MODULEpo raz pierwszy po kliknięciu Applypotem OK. Zrobiłem to drugi raz i teraz działa. Wydaje się, że trochę dziwności PyCharm.
MikeyE

Musiałem się upewnić, że poprawnie zadeklarowałem import: z <app>.<module> import <class>- brak automatycznego importu PyCharm <app>. Kiedy już to poprawiłem (sprawdziłem również moduły zależne), to działało dobrze.
Matthew Hegarty

18

Dostałem ten, kiedy użyłem, ./manage.py shell a następnie przypadkowo zaimportowałem z katalogu głównego poziomu projektu

# 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()

w moim przypadku musiałem zmienić from fields import xnafrom .fields import x
daigorocub

13

jako noob używający Python3 uważam, że może to być błąd importu zamiast błędu Django

źle:

from someModule import someClass

dobrze:

from .someModule import someClass

zdarzyło się to kilka dni temu, ale naprawdę nie mogę tego odtworzyć ... Myślę, że tylko osoby nowe w Django mogą to spotkać. oto co pamiętam:

spróbuj zarejestrować model w admin.py:

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

spróbuj uruchomić serwer, błąd wygląda tak

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

zmiana userna .user, problem rozwiązany


9
Witamy w stackoverflow! Czuję się zmuszony wspomnieć, że pańska odpowiedź nie ma związku z pytaniem PO. Jako noob powinieneś ostrożnie proponować rozwiązania bez uprzedniej weryfikacji ich poprawności. Ale proszę, wracaj i publikuj konkretne odpowiedzi, kiedy możesz - dzięki!
evadeflow

1
Chciałbym, żeby więcej komentarzy na temat Stacka było jak twój Xeon Phil. Zbyt często nowi użytkownicy są przeganiani przez wściekłych komentatorów niezadowolonych z tego, że nie są ekspertami od Stack od pierwszego dnia.
Slbox,

1
Masz rację @evadeflow, moja pierwsza odpowiedź wygląda na zupełnie niezwiązaną, staram się wyjaśnić odpowiedź, ale mam tylko nadzieję, że odpowiedź będzie przydatna.
rpstw,

W moim przypadku było podobnie. „from ..core.models import CommonInfo” musiało stać się „from apps.core.models import CommonInfo”
user42488

To był mój problem, zasłonięty, ponieważ działo się to w 2 oddzielnych plikach. Cholera, zagnieżdżony import! Cholera, moje głupie odrzucenie rozsądnych zmian 2to3!
9999 lat

13

Miałem teraz ten sam problem. Naprawiłem moje, dodając przestrzeń nazw w nazwie aplikacji. Mam nadzieję, że ktoś uzna to za pomocne.

apps.py

from django.apps import AppConfig    

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

8

Otrzymałem ten błąd podczas importowania modeli w testach, czyli biorąc pod uwagę tę strukturę projektu Django:

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

w pliku test_models.pyzaimportowałem MyModelw ten sposób:

from models import MyModel

Problem został rozwiązany, jeśli został zaimportowany w ten sposób:

from myapp.models import MyModel

Mam nadzieję że to pomoże!

PS: Może to trochę za późno, ale nie znalazłem w innych odpowiedziach jak rozwiązać ten problem w moim kodzie i chcę się podzielić swoim rozwiązaniem.


juliocesar, jesteś mistrzem. Dzięki. To był śmieszny błąd.
Kirk

2
Znalezienie tego zajęło mi więcej czasu, niż się spodziewałem. Używałem importu względnego w moim pliku test.py. Wystąpił błąd podczas używania from .models import MyModel. Zmiana, aby from myapp.models import MyModelrozwiązać problem.
mnich

@monkut to samo tutaj. Zastanawiam się, dlaczego tak się dzieje. Nawiasem mówiąc, używam niestandardowego folderu aplikacji. „/ apps” w katalogu głównym projektu, dodane do ścieżki.

4

Po ciągłym napotykaniu tego problemu i powracaniu do tego pytania, pomyślałem, że podzielę się, na czym polega mój problem.

Wszystko, co @Xeberdee jest poprawne, więc śledź to i zobacz, czy to rozwiązuje problem, jeśli nie, to był mój problem:

W moim apps.py mam to:

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

Wszystko, co zrobiłem, to dodałem nazwę projektu przed nazwą mojej aplikacji w następujący sposób:

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

i to rozwiązało mój problem, a potem mogłem uruchomić polecenie makemigrations i migrate! powodzenia


3

Wystąpił ten błąd dzisiaj, próbując uruchomić testy Django, ponieważ użyłem skróconej from .models import *składni w jednym z moich plików. Problem polegał na tym, że miałem taką strukturę plików:

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

aw roku models/__init__.pyimportowałem swoje modele używając skróconej składni:

    from .foo import *
    from .bar import *

W swojej aplikacji importowałem modele takie jak:

    from myapp.models import Foo, Bar

To spowodowało, że Django model doesn't declare an explicit app_labelpodczas biegania ./manage.py test.

Aby rozwiązać problem, musiałem jawnie zaimportować z pełnej ścieżki w models/__init__.py:

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

To rozwiązało problem.

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


To był również problem dla mnie. Dzięki!
Sam Creamer

3

W moim przypadku to się dzieje, ponieważ użyłem ścieżki względnej modułu w projekcie poziomu urls.py , INSTALLED_APPSa apps.pyzamiast być zakorzenione w katalogu głównym projektu. tzn. bezwzględne ścieżki modułów w całym tekście, a nie względne ścieżki modułów + hacki.

Bez względu na to, jak bardzo majstrowałem w ścieżkach w mojej aplikacji INSTALLED_APPSi apps.pyw mojej aplikacji, nie mogłem uzyskać obu runserveri pytestpracować, dopóki wszystkie trzy z nich nie zostaną zakorzenione w katalogu głównym projektu.

Struktura folderów:

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

Z następującymi mógłbym bez problemu uruchomić manage.py runserveri gunicorn z wsgi i korzystać z portalwidoków aplikacji, ale pytest by się pomylił ModuleNotFoundError: No module named 'apps'mimoDJANGO_SETTINGS_MODULE poprawnej konfiguracji.

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')),
    ...
]

Zmiana odniesienia aplikacji w config / settings.py się biz_portal.apps.portal.apps.PortalConfigi PortalConfig.namedo biz_portal.apps.portaldozwolonego pytest do uruchomienia (nie mam testy dla portalwidoków jeszcze), ale runserverto błąd z

RuntimeError: Klasa modelu apps.portal.models.Business nie deklaruje jawnej etykiety app_label i nie ma jej w aplikacji w INSTALLED_APPS

W końcu wyszukałem, apps.portalaby zobaczyć, co nadal używa ścieżki względnej i stwierdziłem, że config / urls.py powinien również używać biz_portal.apps.portal.urls.


Hacki ze ścieżką względną… Zrobiły to samo. Twoje spostrzeżenia bardzo mi pomogły
zar3bski

2

Napotkałem ten błąd, gdy próbowałem wygenerować migracje dla pojedynczej aplikacji, która miała źle sformułowane migracje z powodu scalania git. na przykład

manage.py makemigrations myapp

Kiedy usunąłem to migracje, a następnie uruchomiłem:

manage.py makemigrations

błąd nie wystąpił i migracje zostały wygenerowane pomyślnie.


Dziękuję Ci. Migracje nadal są frustrujące.
HashRocketSyntax

2

Miałem podobny problem, ale udało mi się rozwiązać mój, określając jawnie app_label za pomocą Meta Class w mojej klasie modeli

class Meta:
    app_label  = 'name_of_my_app'

Dzięki Benjamin! W moim projekcie Django używam Sphinx do generowania dokumentacji, a dyrektywa :: autoclass dawała błąd „app_label”, dopóki nie dodałem go do klasy Meta Modelu, tak jak sugerowałeś.
Stefan Musarra

Cieszę się, że to zadziałało
Benjamin Andoh

1

Otrzymałem ten błąd podczas próby aktualizacji mojego Django Rest Framework aplikacji do DRF 3.6.3 i Django 1.11.1.

Dla każdego innego w tej sytuacji znalazłem swoje rozwiązanie w kwestii GitHub , która polegała na usunięciu UNAUTHENTICATED_USERustawienia w ustawieniach DRF :

# webapp/settings.py
...
REST_FRAMEWORK = {
    ...
    'UNAUTHENTICATED_USER': None
    ...
}

1

Właśnie natknąłem się na ten problem i zorientowałem się, co się dzieje. Ponieważ żadna poprzednia odpowiedź nie opisała problemu tak, jak mi się przydarzyło, pomyślałem, że opublikowałbym to dla innych:

  • problem wynikał z użycia python migrate.py startapp myAppz folderu głównego mojego projektu, a następnie przenieś myApp do folderu podrzędnego z rozszerzeniem mv myApp myFolderWithApps/.
  • Napisałem myApp.models i uruchomiłem python migrate.py makemigrations. Wszystko poszło dobrze.
  • potem zrobiłem to samo z inną aplikacją, która importowała modele z myApp. Kaboom! Napotkałem ten błąd podczas makemigracji. To dlatego, że musiałem użyćmyFolderWithApps.myApp odniesienia do mojej aplikacji, ale zapomniałem zaktualizować MyApp / apps.py. Więc poprawiłem moją aplikację / apps.py, ustawienia / INSTALLED_APPS i ścieżkę importu w mojej drugiej aplikacji.
  • ale potem błąd się powtarzał: powodem było to, że miałem migracje próbując zaimportować modele z myApp z niewłaściwą ścieżką. Próbowałem poprawić plik migracji, ale doszedłem do punktu, w którym łatwiej było zresetować bazę danych i usunąć migracje, aby rozpocząć od zera.

Krótko mówiąc: - początkowo problem wynikał z niewłaściwej nazwy aplikacji w apps.py w myApp, w ustawieniach i ścieżce importu mojej drugiej aplikacji. - ale nie wystarczyło poprawienie ścieżek w tych trzech miejscach, ponieważ migracje zostały utworzone z importami odwołującymi się do niewłaściwej nazwy aplikacji. Dlatego ten sam błąd występował podczas migracji (poza tym razem z migracjami).

Więc ... sprawdź swoje migracje i powodzenia!


1

Mam podobny błąd podczas budowania API w Django rest_framework.

RuntimeError: Klasa modelu apps.core.models.University nie deklaruje jawnej etykiety> app_label i nie ma jej w aplikacji w INSTALLED_APPS.

Odpowiedź luke_aus pomogła mi, poprawiając mój adres urls.py

z

from project.apps.views import SurgeryView

do

from apps.views import SurgeryView

Jak dla mnie, miałem to ukryte podczas migracji. Nie jestem pewien, jak to się stało, ale usunięcie nazwy projektu / ścieżki rozwiązało problem.
Michael Thompson

1

W moim przypadku otrzymałem ten błąd podczas przenoszenia kodu z Django 1.11.11 do Django 2.2. Definiowałem niestandardową klasę pochodną FileSystemStorage. W Django 1.11.11 miałem następującą linię w models.py:

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

a później w pliku miałem definicję klasy:

class MyFileStorage(FileSystemStorage):

Jednak w Django 2.2 FileSystemStoragepodczas importowania muszę jawnie odwoływać się do klasy:

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

i voilà !, błąd znika.

Zauważ, że wszyscy zgłaszają ostatnią część komunikatu o błędzie wyrzuconego przez serwer Django. Jeśli jednak przewiniesz w górę, znajdziesz przyczynę w środku tego błędu mambo-jambo.


1

w moim przypadku udało mi się znaleźć poprawkę i patrząc na kod wszystkich innych, może to być ten sam problem .. Po prostu musiałem dodać „django.contrib.sites” do listy zainstalowanych aplikacji w settings.py plik.

mam nadzieję, że to komuś pomoże. to mój pierwszy wkład w społeczność programistów


1

TL; DR: Dodanie pustego __init__.py rozwiązało problem.

Otrzymałem ten błąd w PyCharm i zdałem sobie sprawę, że mój plik ustawień w ogóle nie był importowany. Nie było oczywistego błędu mówiącego mi o tym, ale kiedy wstawiłem jakiś nonsensowny kod do settings.py, nie spowodował on błędu.

Miałem settings.py w folderze local_settings . Jednak zapomniałem dołączyć __init__.py w tym samym folderze, aby umożliwić jego import. Gdy to dodałem, błąd zniknął.


1

Jeśli masz całą konfigurację, może to być po prostu bałagan związany z importowaniem. miej oko na to, jak importujesz nieprawidłowy model.

Poniższe nie będą działać from .models import Business. Zamiast tego użyj pełnej ścieżki importu:from myapp.models import Business


1

Jeśli wszystko inne zawiedzie i jeśli widzisz ten błąd podczas próby importu w "konsoli Pythona" (lub "konsoli Django") PyCharm:

Spróbuj ponownie uruchomić konsolę.

To dość zawstydzające, ale zajęło mi trochę czasu, zanim zdałem sobie sprawę, że o tym zapomniałem.

Oto, co się stało:

Dodano nową aplikację, następnie dodałem minimalny model, a następnie próbowałem zaimportować model w konsoli Python / Django (PyCharm pro 2019.2). Spowodowało to doesn't declare an explicit app_labelbłąd, ponieważ nie dodałem nowej aplikacji do INSTALLED_APPS. Dodałem więc aplikację do INSTALLED_APPS, ponownie spróbowałem importować, ale nadal występuje ten sam błąd.

Przyszedłem tutaj, przeczytaj wszystkie inne odpowiedzi, ale nic nie pasowało.

W końcu dotarło do mnie, że nie zrestartowałem jeszcze konsoli Pythona po dodaniu nowej aplikacji do INSTALLED_APPS.

Uwaga: niepowodzenie ponownego uruchomienia konsoli PyCharm Python po dodaniu nowego obiektu do modułu jest również świetnym sposobem na uzyskanie bardzo mylącego ImportError: Cannot import name ...


Dzięki za tę odpowiedź, zapomniałem .env
pobrać

1

O ... M ... G Też otrzymywałem ten błąd i spędziłem na nim prawie 2 dni i teraz w końcu udało mi się go rozwiązać. Szczerze ... błąd nie miał nic wspólnego z tym, z czym był problem. W moim przypadku była to prosta kwestia składni. Próbowałem uruchomić samodzielny moduł Pythona, który używał niektórych modeli django w kontekście django, ale sam moduł nie był modelem django. Ale stwierdziłem, że klasa jest niewłaściwa

zamiast mieć

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

ja robiłem

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

co jest oczywiście błędne. Wiadomość jest tak myląca, że ​​nie mogłem się powstrzymać, ale myślę, że to jakiś problem z konfiguracją lub po prostu niewłaściwym używaniem django, ponieważ jestem w tym bardzo nowy.

Podzielę się tym tutaj dla kogoś nowicjusza, ponieważ przechodząc przez te same głupoty, mam nadzieję, że rozwiążę ich problem.


0

Otrzymałem ten błąd po tym, jak przeniosłem SECRET_KEYdo ściągania ze zmiennej środowiskowej i zapomniałem go ustawić podczas uruchamiania aplikacji. Jeśli masz coś takiego w swoimsettings.py

SECRET_KEY = os.getenv('SECRET_KEY')

następnie upewnij się, że faktycznie ustawiasz zmienną środowiskową.


0

Najprawdopodobniej masz import zależny .

W moim przypadku użyłem klasy serializatora jako parametru w moim modelu, a klasa serializatora korzystała z tego modelu: serializer_class = AccountSerializer

from ..api.serializers import AccountSerializer

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

A w pliku „serializatory”:

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

Otrzymałem ten błąd dzisiaj i wylądowałem tutaj po googlowaniu. Żadna z istniejących odpowiedzi nie wydaje się odpowiadać mojej sytuacji. Jedyne, co musiałem zrobić, to zaimportować model z mojego __init__.pypliku na najwyższym poziomie aplikacji. Musiałem przenieść import do funkcji za pomocą modelu.

Wydaje się, że Django ma dziwny kod, który może zawieść w tak wielu różnych scenariuszach!


0

Ten błąd też dzisiaj wyskoczył. Komunikat odwołuje się do określonej aplikacji moich aplikacji w INSTALLED_APPS . Ale w rzeczywistości nie miało to nic wspólnego z tą konkretną aplikacją. Użyłem nowego wirtualnego środowiska i zapomniałem zainstalować kilka bibliotek, których użyłem w tym projekcie. Po zainstalowaniu dodatkowych bibliotek działało.


0

Dla użytkowników PyCharm: wystąpił błąd podczas korzystania z nie „czystej” struktury projektu.

Był:

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

Teraz:

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

Tutaj jest wiele dobrych rozwiązań, ale myślę, że przede wszystkim powinieneś wyczyścić strukturę swojego projektu lub dostroić ustawienia PyCharm Django przed ustawieniem DJANGO_SETTINGS_MODULE zmiennych i tak dalej.

Mam nadzieję, że to komuś pomoże. Twoje zdrowie.


-1

Problem w tym, że:

  1. Dokonałeś modyfikacji w pliku modeli, ale nie dodałeś ich jeszcze do bazy danych, ale próbujesz uruchomić serwer uruchomieniowy manage.py w języku Python.

  2. Uruchom Python manage.py makemigrations

  3. Migracja Python manage.py

  4. Teraz Python manage.py runerver i wszystko powinno być w porządku.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.