Ich versuche, eine lokale Django-Entwicklungsumgebung einzurichten, die VMs verwendet, die mit Vagrant aktiviert sind, aber ich bin mir nicht sicher, was der beste Weg ist darüber.
Ich habe einen git clone
für Django-Dateien vom Produktionsserver erstellt und alle Module installiert, die der Produktionsserver auf meiner lokalen VM hat. Ich wollte die Installation einer Datenbank auf meiner lokalen VM vermeiden, stieß jedoch auf einige Probleme mit den Sitzungen. Der lokale Computer verwendet SESSION_COOKIE_DOMAIN='localhost'
und die Produktion verwendet SESSION_COOKIE_DOMAIN='.mydomain.com'
, was zu Verwirrung führt.
Ganz zu schweigen davon, dass ich in meiner dev-Umgebung auf setting.py IPs so ändern musste, dass sie auf die öffentliche IP-Adresse der Datenbank verweisen (wodurch ein Loch in der Sicherheit entsteht), während meine production.py die lokale verwendet IPs, also habe ich verschiedene settings.py Dateien verwendet.
Ich kann weiterhin mit neuen Methoden experimentieren, aber ich muss wirklich mit dem Projekt anfangen und ich bin mir ziemlich sicher, dass einige Leute das schon herausgefunden haben.
Wie hast du deine Django-Entwicklungsumgebung eingerichtet?
Ich habe ein öffentliches Repo auf GitHub hier verfügbar:
Anweisungen aus der README.md:
Django / Python / MySQL
Dies ist ein Vagrant-Projekt für die Django-Entwicklung.
Dies unterstützt noch nicht berkshelf oder librarian; Alle notwendigen Repos sind in 'Kochbüchern' enthalten.
Voraussetzungen, alle Plattformen:
Virtualbox Ссылка Vagrant Ссылка
Voraussetzungen, nur Windows:
git-bash Rubin rvm
Ziemlich einfach, es zum Laufen zu bringen:
%Vor%** (Hinweis: Sie befinden sich jetzt in der Virtualbox VM als Superuser Vagrant)
%Vor%** (Hinweis: PIP ist ein Python-Paket-Manager)
%Vor%Starten eines Django-Projekts:
%Vor%Die VM ist für die Verwendung der Portweiterleitung konfiguriert. Wenn alles glatt gegangen ist, sollten Sie über den Browser auf Ihrem Computer, auf dem die virtuelle Maschine unter dieser URL ausgeführt wird, auf den laufenden Server zugreifen können:
%Vor%Neu in Django? Nächste Schritte? Ich empfehle: Ссылка Weitere Themen findest du unter Zwei Schaufeln von Django: Ссылка
es gibt ein paar django-Apps, die ich gesehen habe, um das zu verwalten, aber ich bevorzuge immer die folgenden in meinem settings.py, da die Anzahl der verschiedenen Konfigurationen normalerweise minimal ist
%Vor%Ich kann dieses Repository empfehlen.
Sie können es ändern, um Django-Projekte zu unterstützen.
Vagrantfile
Updates:
Fügen Sie dann eine provisioners/shell/application.setup.sh
-Datei mit dem folgenden Inhalt hinzu:
Ändern Sie die Repository-Adresse ( [email protected]:czerasz/sample-django-app.git
) und stellen Sie sicher, dass Sie ein requirements.txt
im Stammverzeichnis Ihres Git-Repositorys haben. Führen Sie vagrant up
.
Vagrant wird zwei Maschinen starten:
web1
mit deinem Django-Projekt db1
mit einer PoestgreSQL-Datenbank Wenn Sie weiterhin Probleme haben, fügen Sie Ihrem Vagrantfile
Folgendes hinzu:
Und führen Sie diesen Befehl auf Ihrem Host aus (der Computer, auf dem Sie vagrant
ausführen):
Der ~/.ssh/bitbucket
ist der private ssh-Schlüssel, den Sie für bitbucket verwenden. Je nach Konfiguration kann es ~/.ssh/id_rsa
oder etwas anderes sein.