MySQL-ondersteuning
is eenvoudig toe te voegen. In uw DATABASES
woordenboek, heb je een invoer als deze:
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',
}
}
U hebt ook de mogelijkheid om MySQL optiebestanden te gebruiken
, vanaf Django 1.7. U kunt dit bereiken door uw DATABASES
. in te stellen array als volgt:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
U moet ook de /path/to/my.cnf
. maken bestand met vergelijkbare instellingen van hierboven
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Met deze nieuwe verbindingsmethode in Django 1.7 is het belangrijk om te weten dat de volgorde van verbindingen tot stand is gebracht:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Met andere woorden, als u de naam van de database in OPTIONS instelt, heeft deze voorrang op NAME, die alles in een MySQL-optiebestand zou overschrijven.
Als u uw toepassing alleen op uw lokale computer aan het testen bent, kunt u
python manage.py runserver
De ip:port
. toevoegen argument geeft andere machines dan uw eigen toegang tot uw ontwikkeltoepassing. Zodra u klaar bent om uw toepassing te implementeren, raad ik u aan het hoofdstuk over Implementeren te lezen Django
op de djangobook
De standaardtekenset van Mysql is vaak niet utf-8, zorg er daarom voor dat u uw database maakt met deze sql:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Als u Oracle's MySQL-connector uw ENGINE
regel zou er als volgt uit moeten zien:
'ENGINE': 'mysql.connector.django',
Merk op dat u eerst mysql op uw besturingssysteem moet installeren.
brew install mysql (MacOS)
Ook is het mysql-clientpakket gewijzigd voor python 3 (MySQL-Client
werkt alleen voor python 2)
pip3 install mysqlclient