Hỗ trợ MySQL
là đơn giản để thêm. Trong DATABASES
của bạn từ điển, bạn sẽ có một mục như thế này:
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',
}
}
Bạn cũng có tùy chọn sử dụng MySQL tệp tùy chọn
, kể từ Django 1.7. Bạn có thể thực hiện điều này bằng cách đặt DATABASES
của mình mảng như vậy:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': '/path/to/my.cnf',
},
}
}
Bạn cũng cần tạo /path/to/my.cnf
tệp có cài đặt tương tự từ bên trên
[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8
Với phương pháp kết nối mới này trong Django 1.7, điều quan trọng là phải biết các kết nối thứ tự đã được thiết lập:
1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.
Nói cách khác, nếu bạn đặt tên cơ sở dữ liệu trong TÙY CHỌN, tên này sẽ được ưu tiên hơn TÊN, tên này sẽ ghi đè bất kỳ thứ gì trong tệp tùy chọn MySQL.
Nếu bạn chỉ đang thử nghiệm ứng dụng của mình trên máy cục bộ, bạn có thể sử dụng
python manage.py runserver
Thêm ip:port
đối số cho phép các máy khác với máy của bạn truy cập vào ứng dụng phát triển của bạn. Khi bạn đã sẵn sàng triển khai ứng dụng của mình, tôi khuyên bạn nên xem chương về Triển khai Django
trên djangobook
Bộ ký tự mặc định của Mysql thường không phải là utf-8, do đó, hãy đảm bảo tạo cơ sở dữ liệu của bạn bằng cách sử dụng sql này:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
Nếu bạn đang sử dụng Trình kết nối MySQL của Oracle ENGINE
của bạn dòng sẽ như thế này:
'ENGINE': 'mysql.connector.django',
Lưu ý rằng trước tiên bạn cần cài đặt mysql trên hệ điều hành của mình.
brew install mysql (MacOS)
Ngoài ra, gói ứng dụng khách mysql đã thay đổi cho python 3 (MySQL-Client
chỉ hoạt động cho python 2)
pip3 install mysqlclient