Ich möchte mich ein wenig von PHP entfernen und Python lernen. Um Webentwicklung mit Python durchführen zu können, benötige ich ein Framework, das beim Templating und anderen Dingen hilft.
Ich habe einen Nicht-Produktionsserver, auf dem ich alle Webentwicklungssachen teste. Es ist ein Debian 7.1 LAMP-Stack, auf dem MariaDB anstelle des üblichen MySQL-Server-Pakets ausgeführt wird.
Gestern habe ich Django installiert und mein erstes Projekt namens firstweb erstellt . Ich habe noch keine Einstellungen geändert.
Hier ist meine erste große Verwirrung. Im Tutorial folgte ich dem Typ, der Django installiert hatte, startete sein erstes Projekt, startete Apache neu und Django arbeitete von da an. Er ging zu seinem Browser und ging ohne Probleme zur Django-Standardseite.
Ich muss jedoch in meinen ersten Webordner cd und ausführen
python manage.py runserver myip:port
Und es funktioniert. Kein Problem. Aber ich frage mich, ob es so funktionieren soll und ob dies später zu Problemen führen wird.
Meine zweite Frage ist, dass ich es so einrichten möchte, dass es meine MySQL-Datenbank verwendet. Ich gehe in meine settings.py unter / firstweb / firstweb und sehe ENGINE und NAME, bin mir aber nicht sicher, was ich hier einfügen soll.
Und dann ist dies in den Bereichen USER, PASSWORD und HOST meine Datenbank und ihre Anmeldeinformationen? Wenn ich localhost verwende, kann ich localhost einfach in den HOST-Bereich stellen?
Antworten:
Die MySQL-Unterstützung ist einfach hinzuzufügen. In Ihrem
DATABASES
Wörterbuch haben Sie einen Eintrag wie folgt:Ab Django 1.7 haben Sie auch die Möglichkeit, MySQL- Optionsdateien zu verwenden . Sie können dies erreichen, indem Sie Ihr
DATABASES
Array folgendermaßen einstellen :Sie müssen die
/path/to/my.cnf
Datei auch mit ähnlichen Einstellungen von oben erstellenBei dieser neuen Verbindungsmethode in Django 1.7 ist es wichtig zu wissen, dass die Reihenfolge der Verbindungen hergestellt ist:
Wenn Sie Ihre Anwendung nur auf Ihrem lokalen Computer testen, können Sie sie verwenden
Durch Hinzufügen des
ip:port
Arguments können andere als Ihre eigenen Computer auf Ihre Entwicklungsanwendung zugreifen. Wenn Sie bereit sind, Ihre Anwendung bereitzustellen , empfehlen wir Ihnen, das Kapitel zum Bereitstellen von Django im Djangobook zu lesenDer MySQL-Standardzeichensatz ist häufig nicht utf-8. Stellen Sie daher sicher, dass Sie Ihre Datenbank mit diesem SQL erstellen:
Wenn Sie den MySQL-Connector von Oracle verwenden,
ENGINE
sollte Ihre Leitung folgendermaßen aussehen:Beachten Sie, dass Sie zuerst MySQL auf Ihrem Betriebssystem installieren müssen.
Außerdem wurde das MySQL-Client-Paket für Python 3 geändert (
MySQL-Client
funktioniert nur für Python 2).quelle
Führen Sie zum ersten Mal die folgenden Befehle aus, um Python-Abhängigkeiten zu installieren. Andernfalls wird der Befehl Python Runserver einen Fehler auslösen.
Konfigurieren Sie dann die Datei settings.py wie von #Andy definiert und führen Sie sie zuletzt aus:
Habe Spaß..!!
quelle
Wenn Sie python3.x verwenden, führen Sie den folgenden Befehl aus
Dann ändern Sie settings.py wie
quelle
Wie oben erwähnt, können Sie xampp einfach zuerst unter https://www.apachefriends.org/download.html installieren. Befolgen Sie dann die Anweisungen wie folgt:
http://localhost:80
und die Datenbank unterport 3306
und PhpMyadmin unterhttp://localhost/phpmyadmin/
Bearbeiten Sie Ihre
settings.py
Datei wie folgt :Installieren Sie die folgenden Pakete in virtualenv (wenn Sie django auf virtualenv verwenden, was bevorzugter ist):
sudo apt-get install libmysqlclient-dev
pip installiere MySQL-Python
Das ist es!! Sie haben Django auf sehr einfache Weise mit MySQL konfiguriert.
Führen Sie nun Ihr Django-Projekt aus:
python manage.py migrieren
python manage.py runserver
quelle
Tatsächlich gibt es viele Probleme mit verschiedenen Umgebungen, Python-Versionen usw. Möglicherweise müssen Sie auch Python-Entwicklungsdateien installieren. Um die Installation zu erzwingen, würde ich all diese ausführen:
Sie sollten gut mit der akzeptierten Antwort umgehen können. Und kann die unnötigen Pakete entfernen, wenn das für Sie wichtig ist.
quelle
Führen Sie diese Befehle aus
Dann konfigurieren Sie settings.py wie
Genießen Sie MySQL-Verbindung
quelle
Andys Antwort hilft, aber wenn Sie Bedenken haben, Ihr Datenbankkennwort in Ihrer Django-Einstellung offenzulegen, empfehle ich, die offizielle Konfiguration von Django für die MySQL-Verbindung zu befolgen: https://docs.djangoproject.com/de/1.7/ref/databases/
Zitiert hier als:
Um 'HOST': '127.0.0.1' in der Einstellung zu ersetzen, fügen Sie es einfach in my.cnf hinzu:
Eine weitere nützliche OPTION besteht darin, Ihre Speicher-Engine für Django festzulegen. Möglicherweise möchten Sie sie in Ihrer Einstellung.py:
quelle
settings.py
}}
dann:
Wenn der Erfolg diese Tabellen generiert:
und du wirst MySQL verwenden können.
Dies ist ein Beispiel für ein Schaufenster, Test auf Django Version 1.11.5: Django-Pool-Schaufenster
quelle
mysqlclient
sudo pip3 install mysqlclient
Wenn Sie eine Fehlermeldung erhalten:
dann:
Ändern Sie settings.py
quelle
Befolgen Sie die angegebenen Schritte, um es für die Verwendung der MySQL-Datenbank einzurichten:
quelle
Sie müssen zuerst eine MySQL-Datenbank erstellen. Gehen Sie dann zur
settings.py
Datei und bearbeiten Sie das'DATABASES'
Wörterbuch mit Ihren MySQL-Anmeldeinformationen:Hier ist eine vollständige Installationsanleitung zum Einrichten von Django für die Verwendung von MySQL auf einer virtuellen Umgebung:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
quelle