Prise en charge de MySQL
est simple à ajouter. Dans vos DATABASES
dictionnaire, vous aurez une entrée comme celle-ci :
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',
}
}
Vous avez également la possibilité d'utiliser MySQL fichiers d'options
, à partir de Django 1.7. Vous pouvez y parvenir en définissant vos DATABASES
tableau comme ceci :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Vous devez également créer le /path/to/my.cnf
fichier avec des paramètres similaires à ceux d'en haut
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Avec cette nouvelle méthode de connexion dans Django 1.7, il est important de savoir que les connexions de commande sont établies :
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
En d'autres termes, si vous définissez le nom de la base de données dans OPTIONS, cela prévaudra sur NAME, qui remplacera tout ce qui se trouve dans un fichier d'options MySQL.
Si vous testez simplement votre application sur votre machine locale, vous pouvez utiliser
python manage.py runserver
Ajout de l'ip:port
L'argument permet à d'autres machines que la vôtre d'accéder à votre application de développement. Une fois que vous êtes prêt à déployer votre application, je vous recommande de jeter un œil au chapitre sur Déploiement Django
sur le djangobook
Le jeu de caractères par défaut de MySQL n'est souvent pas utf-8, assurez-vous donc de créer votre base de données en utilisant ce sql :
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Si vous utilisez le connecteur MySQL d'Oracle votre ENGINE
la ligne devrait ressembler à ceci :
'ENGINE': 'mysql.connector.django',
Notez que vous devrez d'abord installer mysql sur votre système d'exploitation.
brew install mysql (MacOS)
De plus, le package client mysql a changé pour python 3 (MySQL-Client
ne fonctionne que pour python 2)
pip3 install mysqlclient