Suporte a MySQL é simples de adicionar. Em seus
DATABASES
dicionário, você terá uma entrada como esta: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',
}
}
Você também tem a opção de utilizar MySQL arquivos de opção , a partir do Django 1.7. Você pode fazer isso configurando seu
DATABASES
matriz assim:DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Você também precisa criar o
/path/to/my.cnf
arquivo com configurações semelhantes acima [client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Com este novo método de conexão no Django 1.7, é importante saber a ordem em que as conexões são estabelecidas:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Em outras palavras, se você definir o nome do banco de dados em OPTIONS, isso terá precedência sobre NAME, que substituiria qualquer coisa em um arquivo de opções do MySQL.
Se você está apenas testando seu aplicativo em sua máquina local, você pode usar
python manage.py runserver
Adicionando o
ip:port
O argumento permite que máquinas diferentes das suas acessem seu aplicativo de desenvolvimento. Quando estiver pronto para implantar seu aplicativo, recomendo dar uma olhada no capítulo sobre Implantando Django
no djangobook
O conjunto de caracteres padrão do MySQL geralmente não é utf-8, portanto, certifique-se de criar seu banco de dados usando este sql:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Se você estiver usando o conector MySQL do Oracle seu
ENGINE
linha deve ficar assim:'ENGINE': 'mysql.connector.django',
Observe que primeiro você precisará instalar o mysql em seu sistema operacional.
brew install mysql (MacOS)
Além disso, o pacote do cliente mysql foi alterado para python 3 (
MySQL-Client
funciona apenas para python 2) pip3 install mysqlclient