Поддръжка на MySQL
е лесно да се добави. Във вашите DATABASES
речник, ще имате запис като този:
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',
}
}
Също така имате възможност да използвате MySQL файлове с опции
, от Django 1.7. Можете да постигнете това, като зададете вашите DATABASES
масив така:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Вие също трябва да създадете /path/to/my.cnf
файл с подобни настройки отгоре
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
С този нов метод за свързване в Django 1.7 е важно да знаете реда, в който връзките са установени:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
С други думи, ако зададете името на базата данни в OPTIONS, това ще има предимство пред NAME, което ще отмени всичко във файл с опции на MySQL.
Ако просто тествате приложението си на локалната си машина, можете да използвате
python manage.py runserver
Добавяне на ip:port
argument позволява на машини, различни от вашата, да имат достъп до вашето приложение за разработка. След като сте готови да внедрите приложението си, препоръчвам да разгледате главата за Внедряване Джанго
в djangobook
Наборът от символи по подразбиране на Mysql често не е utf-8, затова не забравяйте да създадете вашата база данни с помощта на този sql:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Ако използвате MySQL конектора на Oracle вашият ENGINE
ред трябва да изглежда така:
'ENGINE': 'mysql.connector.django',
Имайте предвид, че първо ще трябва да инсталирате mysql на вашата ОС.
brew install mysql (MacOS)
Също така, клиентският пакет mysql се промени за python 3 (MySQL-Client
работи само за python 2)
pip3 install mysqlclient