Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Configurando o Django para usar o MySQL


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