Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einrichten von Django für die Verwendung von MySQL

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

verwenden
python 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