Django: Die Rolle des Projektnamens

9

Ich denke über ein neues Django-Projekt nach und muss jetzt einen Projektnamen auswählen, damit ich tippen kann:

%Vor%

Das wirft Zweifel auf, ich bin mir des Namens nicht sicher, und ich denke, dass ich es in Zukunft vielleicht ändern möchte. Also, ich habe zwei Fragen:

  • Welche Rolle spielt der Projektname im Projektcode und in der Bereitstellung?
  • Welche Schritte muss ich ergreifen, um den Namen meines Projekts zu ändern?

Danke!

    
Silver Light 23.03.2011, 15:31
quelle

2 Antworten

3

Der Hauptprojektname wird als Basis für Ihren Namespace verwendet.

Standardmäßig haben Sie in der Zeile settings.py: "ROOT_URLCONF = 'something.urls'".

Um einen Projektnamen zu ändern, müssen Sie jeden einzelnen Import, der darauf verweist, ändern.

Natürlich können Sie immer Module ohne "etwas" -Präfix verwenden, dann müssen Sie sicherstellen, dass es keinen Namens- / Namespace-Konflikt zwischen den Modulen gibt. Ich verwende diese Option, weil ich den gleichen Code in einigen Kopien ohne zusätzlichen Aufwand haben kann.

    
Jerzyk 23.03.2011, 15:51
quelle
0

Spät zu dieser Party, aber für zukünftige Referenz kann dies jemandem helfen. Ich musste nur einen Projektnamen ändern, weil er mit dem Namen einer Drittanbieter-App kollidierte. Es ist einfacher, einen Projektnamen als einen App-Namen zu ändern! (Django 1.11)

Ordnerstruktur

%Vor%
  1. Wenn Sie eine virtuelle Umgebung in venv verwenden, generieren Sie ein aktuelles requirements.txt mit pip freeze
  2. Benenne beide project/ Ordner in newproject um
  3. Ändern Sie project in newproject in den Python-Dateien:

manage.py , suchen Sie nach DJANGO_SETTINGS_MODULE

settings.py , suchen Sie nach DJANGO_SETTINGS_MODULE und WSGI_APPLICATION und einem Kommentar. Sie können und sollten den Namen der Datenbank und des Datenbankbenutzers unverändert lassen, vorausgesetzt, Sie möchten die Daten behalten.

urls.py in einer Zeichenfolge mit drei Anführungszeichen

wsgi.py , DJANGO_SETTINGS_MODULE plus einen Kommentar

  1. Wenn Sie eine virtuelle Umgebung verwenden, müssen Sie sie neu erstellen. Ich habe venv in old.venv umbenannt, dann virtualenv-3 venv , dann pip install und die Anforderungsdatei, die du bei 1. generiert hast. Trash old.venv wenn du sicher bist, dass die neue AOK funktioniert.

  2. /path/to/project wird auch in Systemkonfigurationsdateien wie /etc/nginx und einer .service Datei für Gunicorn enthalten sein, die in /path/to/newproject geändert werden müssen.

  3. Starten Sie den Server neu und testen Sie ihn. Sollte funktionieren.

Jetzt können Sie eine App namens project zu Ihrer INSTALLED_APPS hinzufügen!

Ich weiß jetzt, dass es eine gute Idee ist, interne Django-Projekte ${my_org_name}_something oder ähnliches aufzurufen, damit sie nicht mit Apps von Drittanbietern kollidieren.

    
nigel222 07.02.2018 13:55
quelle

Tags und Links