MySQL-understøttelse
er let at tilføje. I dine DATABASES
ordbog, vil du have en post som denne:
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',
}
}
Du har også mulighed for at bruge MySQL optionsfiler
, fra og med Django 1.7. Du kan opnå dette ved at indstille dine DATABASES
array som sådan:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Du skal også oprette /path/to/my.cnf
fil med lignende indstillinger fra oven
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Med denne nye metode til tilslutning i Django 1.7 er det vigtigt at vide, at ordreforbindelserne er etableret:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Med andre ord, hvis du indstiller navnet på databasen i OPTIONS, vil dette have forrang frem for NAME, som ville tilsidesætte alt i en MySQL-optionsfil.
Hvis du bare tester din applikation på din lokale maskine, kan du bruge
python manage.py runserver
Tilføjelse af ip:port
argument giver andre maskiner end din egen adgang til din udviklingsapplikation. Når du er klar til at implementere din applikation, anbefaler jeg, at du tager et kig på kapitlet om implementering Django
på djangobook
Mysql standardtegnsæt er ofte ikke utf-8, så sørg for at oprette din database ved hjælp af denne sql:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Hvis du bruger Oracles MySQL-stik din ENGINE
linje skal se sådan ud:
'ENGINE': 'mysql.connector.django',
Bemærk, at du først skal installere mysql på dit operativsystem.
brew install mysql (MacOS)
MySQL-klientpakken er også ændret for python 3 (MySQL-Client
virker kun for python 2)
pip3 install mysqlclient