Mysql
 sql >> Database >  >> RDS >> Mysql

Configurazione di Django per l'utilizzo di MySQL

Supporto MySQL è semplice da aggiungere. Nelle tue DATABASES dizionario, avrai una voce come questa:

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',
    }
}

Hai anche la possibilità di utilizzare i file delle opzioni MySQL , a partire da Django 1.7. Puoi farlo impostando i tuoi DATABASES array in questo modo:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}

Devi anche creare il /path/to/my.cnf file con impostazioni simili dall'alto

[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8

Con questo nuovo metodo di connessione in Django 1.7, è importante sapere che vengono stabilite le connessioni dell'ordine:

1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.

In altre parole, se imposti il ​​nome del database in OPTIONS, questo avrà la precedenza su NAME, che sovrascriverebbe qualsiasi cosa in un file di opzioni MySQL.

Se stai solo testando la tua applicazione sul tuo computer locale, puoi utilizzare

python manage.py runserver

Aggiunta di ip:port argomento consente a macchine diverse dalla tua di accedere alla tua applicazione di sviluppo. Una volta che sei pronto per distribuire la tua applicazione, ti consiglio di dare un'occhiata al capitolo su Distribuzione Django su djangobook

Il set di caratteri predefinito di MySQL spesso non è utf-8, quindi assicurati di creare il tuo database usando questo sql:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin

Se stai utilizzando connettore MySQL di Oracle il tuo ENGINE la riga dovrebbe assomigliare a questa:

'ENGINE': 'mysql.connector.django',

Nota che dovrai prima installare mysql sul tuo sistema operativo.

brew install mysql (MacOS)

Inoltre, il pacchetto client mysql è cambiato per python 3 (MySQL-Client funziona solo per Python 2)

pip3 install mysqlclient