如何在Django中使用MySQL數(shù)據(jù)庫
在Ubuntu虛擬機中配置環(huán)境和安裝所需軟件首先,登錄到Ubuntu虛擬機,在終端中進入虛擬Python環(huán)境。使用pip工具安裝pyMySQL,命令如下:```bashworkon djangote
在Ubuntu虛擬機中配置環(huán)境和安裝所需軟件
首先,登錄到Ubuntu虛擬機,在終端中進入虛擬Python環(huán)境。使用pip工具安裝pyMySQL,命令如下:
```bash
workon djangotest
pip install pyMySQL
```
創(chuàng)建Django工程和應用
在工程內(nèi)創(chuàng)建一個名為book的應用,具體命令如下:
```bash
django-admin startproject djmysql
cd djmysql
python startapp book
```
配置MySQL數(shù)據(jù)庫供Django工程使用
在MySQL中創(chuàng)建一個新數(shù)據(jù)庫,用于Django工程的數(shù)據(jù)存儲。執(zhí)行以下命令:
```bash
mysql -uroot -p
輸入密碼后執(zhí)行以下SQL語句
create database djtest default charsetutf8;
show databases;
quit;
```
這里通過設(shè)置默認字符集為utf8來指定數(shù)據(jù)庫的編碼方式。
Django工程中配置MySQL數(shù)據(jù)庫信息
編輯Django工程的文件,在其中配置MySQL數(shù)據(jù)庫信息并注冊book應用。示例代碼如下:
```python
DATABASES {
'default': {
'ENGINE': '',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'your_password',
'NAME': 'djtest', 第3步創(chuàng)建的數(shù)據(jù)庫
}
}
INSTALLED_APPS [
'',
'',
'',
'',
'',
'',
'',
]
```
在工程的__init__.py文件中添加代碼
為了能夠正常連接MySQL數(shù)據(jù)庫,需要在工程的同名文件夾內(nèi)的__init__.py文件中添加以下代碼:
```python
from pymysql import install_as_MySQLdb
install_as_MySQLdb()
```
由于現(xiàn)在使用的是pyMySQL而不是MySQLdb,因此需要進行此轉(zhuǎn)換。
編寫book應用的模型類
在book應用內(nèi)編輯文件,創(chuàng)建一個模型類,示例代碼如下所示:
```python
from django.db import models
class Employee():
name (max_length100)
```
遷移數(shù)據(jù)庫變化
生成遷移文件并將其應用于數(shù)據(jù)庫,使用以下命令:
```bash
python makemigrations
python migrate
```
查看數(shù)據(jù)庫表結(jié)果
連接到MySQL數(shù)據(jù)庫,可以發(fā)現(xiàn)在djtest數(shù)據(jù)庫中新增了一個名為book_employee的表,此為Django自動創(chuàng)建的表結(jié)構(gòu),包含name字段。
通過以上步驟,您已成功配置Django項目以使用MySQL數(shù)據(jù)庫作為數(shù)據(jù)存儲后端。