MySQL-stöd
är enkelt att lägga till. I dina DATABASES ordbok, kommer du att ha en post så här:
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 också möjlighet att använda MySQL alternativfiler
, från och med Django 1.7. Du kan åstadkomma detta genom att ställa in dina DATABASES array som så:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Du måste också skapa /path/to/my.cnf fil med liknande inställningar från ovan
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Med den här nya anslutningsmetoden i Django 1.7 är det viktigt att veta att beställningsanslutningarna är etablerade:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Med andra ord, om du ställer in namnet på databasen i OPTIONS, kommer detta att ha företräde framför NAME, vilket skulle åsidosätta allt i en MySQL-alternativfil.
Om du bara testar din applikation på din lokala dator kan du använda
python manage.py runserver
Lägger till ip:port argument tillåter andra maskiner än din egen att komma åt din utvecklingsapplikation. När du är redo att distribuera din applikation rekommenderar jag att du tar en titt på kapitlet om distribution Django
på djangobook
Mysql standardteckenuppsättning är ofta inte utf-8, se därför till att skapa din databas med denna sql:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Om du använder Oracles MySQL-anslutning din ENGINE raden ska se ut så här:
'ENGINE': 'mysql.connector.django',
Observera att du först måste installera mysql på ditt operativsystem.
brew install mysql (MacOS)
Dessutom har mysql-klientpaketet ändrats för python 3 (MySQL-Client fungerar bara för python 2)
pip3 install mysqlclient