vorhandenes lokales Django Projekt in PyCharm importieren

Django, Flask, Bottle, WSGI, CGI…
Antworten
gomez72
User
Beiträge: 71
Registriert: Sonntag 28. März 2021, 09:57

Hallo Leute,

ich habe mir PyCharm Professional besorgt und habe ein Problem. Wenn ich von PyCharm aus ein Django Projekt neu erstelle - ist auch gleich ein Django Server bei RUN/DEBUG eingerichtet. Alles funktioniert und meine Seite wird ohne Fehler auf dem Browser ausgeliefert. Also so erstmal alles gut.

Ich bin aber gerade dabei Django zu lernen und habe deswegen ein Django Projekt mit eigenem environment mit dem Terminal aufgesetzt.
Wenn ich dann

Code: Alles auswählen

py manage.py runserver
eingebe, startet brav der browser und alles läuft. Also das Django Projekt funktioniert auf der Terminal Ebene.
Übrigens arbeite ich mit Windows.

Ich wollte nun dieses schon angelegte Projekt zu einem PyCharm Projekt machen um dort weiterzuentwicklen.
Pycharm open .....(Auswahl des Projektordners)....

In den PyCharm Settings habe ich den Python Interpreter Pfad ausgewählt, den ich voher mit venv im Terminal erstellte.
Weiter in den Settings unter Languages & Frameworks / Django habe ich
Enable Django Support
gemarkert und Django root, settings , manage script eingestellt.

Dann die RUN/DEBUG Configuration geöffnet und dort die Django Server Konfiguartion geladen.
Leider kommt eine Fehlermeldung beim Starten von RUN:

Code: Alles auswählen

D:\dev\projects\umfrage_udemy_tut\env\Scripts\python.exe D:/dev/projects/umfrage_udemy_tut/umfrageseite/manage.py runserver 8000
Traceback (most recent call last):
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\base.py", line 373, in run_from_argv
    self.execute(*args, **cmd_options)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\commands\runserver.py", line 66, in execute
    super().execute(*args, **options)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\base.py", line 417, in execute
    output = self.handle(*args, **options)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\commands\runserver.py", line 73, in handle
    if not settings.DEBUG and not settings.ALLOWED_HOSTS:
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\conf\__init__.py", line 84, in __getattr__
    self._setup(name)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\conf\__init__.py", line 71, in _setup
    self._wrapped = Settings(settings_module)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\conf\__init__.py", line 179, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "D:\dev\Python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'umfrageseite.umfrageseite'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\dev\projects\umfrage_udemy_tut\umfrageseite\manage.py", line 22, in <module>
    main()
  File "D:\dev\projects\umfrage_udemy_tut\umfrageseite\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\__init__.py", line 425, in execute_from_command_line
    utility.execute()
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\__init__.py", line 419, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\core\management\base.py", line 386, in run_from_argv
    connections.close_all()
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\db\utils.py", line 208, in close_all
    for alias in self:
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\utils\connection.py", line 73, in __iter__
    return iter(self.settings)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\utils\functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\utils\connection.py", line 45, in settings
    self._settings = self.configure_settings(self._settings)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\db\utils.py", line 144, in configure_settings
    databases = super().configure_settings(databases)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\utils\connection.py", line 50, in configure_settings
    settings = getattr(django_settings, self.settings_name)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\conf\__init__.py", line 84, in __getattr__
    self._setup(name)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\conf\__init__.py", line 71, in _setup
    self._wrapped = Settings(settings_module)
  File "D:\dev\projects\umfrage_udemy_tut\env\lib\site-packages\django\conf\__init__.py", line 179, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "D:\dev\Python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'umfrageseite.umfrageseite'

Process finished with exit code 1

ich kann den Fehler leider nicht finden, kennt jemand das Thema ?
oder kann mir helfen ?
viele Grüße
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Offensichtlich existiert das Modul `umfrageseite.umfrageseite` nicht.
Das kann daran liegen, dass der Modulsuchpfad anders ist.
Wie sieht den Deine Verzeichnisstruktur aus?
gomez72
User
Beiträge: 71
Registriert: Sonntag 28. März 2021, 09:57

ich habe nochmal eine neue Seite aufgesetzt aber wieder der gleiche Fehler

Code: Alles auswählen

ModuleNotFoundError: No module named 'webseite.webseite'
meine Verzeichnisstrultur in diesem Fall ist:
webseite
...............|
...............venv
...............blog
...............web
...............manage.py
...............db.sqlite3
...............webseite
............................|
............................--init--.py
............................asgi.py
............................setting.py
............................urls.py
...........................wsgi.py

Ist übrigens egal ob ich in den settings ob ich den "äußeren webseite Ordner" oder den "inneren Webseiten Ordner als Django Projekt Root verwende
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

In Deinem Projekt gibt es nur ein Paket webseite, und kein webseite.webseite. Wo hast Du also webseite.webseite benutzt?
gomez72
User
Beiträge: 71
Registriert: Sonntag 28. März 2021, 09:57

aber das Projekt heisst doch webseite und die app darunter auch .. also webseite.webseite
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@gomez72: Wie das Projekt heisst, also das Projektverzeichnis, ist egal, das ist ja kein Python-Package, sondern nur ein Verzeichnis in dem das alles liegt. Das Package heisst `webseite` und *da drin* gibt es weder ein weiteres Unterpackage noch ein Modul mit dem Namen `webseite`. Das würde ja auch gar keinen Sinn machen.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
aber das Projekt heisst doch webseite und die app darunter auch .. also webseite.webseite
Ja und nein. Du befindest dich doch schon im Projekt "webseite". Wenn du darin die App "webseite" aufrufst bzw. Sachen daraus importieren willst, dann ist es nur "webseite" (=Name der App). Das ist in der Django Doku auch genau so erklärt.

Gruß, noisefloor
gomez72
User
Beiträge: 71
Registriert: Sonntag 28. März 2021, 09:57

ich danke euch, habt meine Blockade aufgelöst !
Antworten