Obsługa MySQL
jest proste do dodania. W Twoich DATABASES
słownika, będziesz miał taki wpis:
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',
}
}
Masz również możliwość korzystania z MySQL pliki opcji
, począwszy od Django 1.7. Możesz to osiągnąć, ustawiając swoje DATABASES
tablica tak:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Musisz także utworzyć /path/to/my.cnf
plik z podobnymi ustawieniami z góry
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Dzięki tej nowej metodzie łączenia w Django 1.7 ważne jest, aby wiedzieć, że połączenia są ustanawiane:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Innymi słowy, jeśli ustawisz nazwę bazy danych w OPTIONS, będzie ona miała pierwszeństwo przed NAZWA, która zastąpi wszystko w pliku opcji MySQL.
Jeśli tylko testujesz swoją aplikację na komputerze lokalnym, możesz użyć
python manage.py runserver
Dodawanie ip:port
Argument umożliwia maszynom innym niż własne dostęp do aplikacji deweloperskiej. Gdy będziesz gotowy do wdrożenia swojej aplikacji, polecam zapoznać się z rozdziałem Wdrażanie Django
na djangobook
Domyślny zestaw znaków Mysql często nie jest utf-8, dlatego upewnij się, że tworzysz bazę danych za pomocą tego sql:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Jeśli używasz konektora MySQL Oracle Twój ENGINE
linia powinna wyglądać tak:
'ENGINE': 'mysql.connector.django',
Pamiętaj, że najpierw musisz zainstalować mysql na swoim systemie operacyjnym.
brew install mysql (MacOS)
Również pakiet klienta mysql został zmieniony dla Pythona 3 (MySQL-Client
działa tylko dla Pythona 2)
pip3 install mysqlclient