MySQL-Unterstützung
ist einfach hinzuzufügen. In Ihren DATABASES
Wörterbuch haben Sie einen Eintrag wie diesen:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB_NAME',
'USER': 'DB_USER',
'PASSWORD': 'DB_PASSWORD',
'HOST': 'localhost', # Or an IP Address that your DB is hosted on
'PORT': '3306',
}
}
Sie haben auch die Möglichkeit, MySQL Optionsdateien zu verwenden
, ab Django 1.7. Sie können dies erreichen, indem Sie Ihre DATABASES
einstellen Array wie folgt:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Sie müssen auch /path/to/my.cnf
erstellen Datei mit ähnlichen Einstellungen von oben
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Bei dieser neuen Verbindungsmethode in Django 1.7 ist es wichtig zu wissen, in welcher Reihenfolge Verbindungen hergestellt werden:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Mit anderen Worten, wenn Sie den Namen der Datenbank in OPTIONS festlegen, hat dieser Vorrang vor NAME, was alles in einer MySQL-Optionsdatei überschreiben würde.
Wenn Sie Ihre Anwendung nur auf Ihrem lokalen Computer testen, können Sie
verwendenpython manage.py runserver
Hinzufügen des ip:port
Argument ermöglicht anderen Computern als Ihrem eigenen den Zugriff auf Ihre Entwicklungsanwendung. Sobald Sie bereit sind, Ihre Anwendung bereitzustellen, empfehle ich einen Blick auf das Kapitel über Bereitstellung Django
auf dem djangobook
Der Standardzeichensatz von Mysql ist oft nicht utf-8, stellen Sie daher sicher, dass Sie Ihre Datenbank mit dieser SQL erstellen:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Wenn Sie den MySQL-Connector von Oracle Ihre ENGINE
Zeile sollte so aussehen:
'ENGINE': 'mysql.connector.django',
Beachten Sie, dass Sie zuerst mysql auf Ihrem Betriebssystem installieren müssen.
brew install mysql (MacOS)
Außerdem hat sich das mysql-Client-Paket für Python 3 geändert (MySQL-Client
funktioniert nur für Python 2)
pip3 install mysqlclient