Django中對數據庫的操作是由Models來完成的
Models是什么?
通常,一個Model對應數據庫的一張數據表
Django中Models以類的形式出現
它包含了一些基本字段以及數據的一些行為
所以,在Django中所有對數據庫的操作,就是對Models中的類以及類的對象的操作,不需要寫任何SQL語句來和數據庫進行直接的交互。
編寫Models步驟:
1、在應用根目錄下創建models.py,並引入models模塊
2、創建類,繼承models.Model,該類即是一張數據表
3、在類中創建字段
字段創建:
1、數據表里的字段其實就是models.py中類的屬性(變量)
例如: name = models.CharField(max_length=100) # 發布會標題
Django中主要的數據類型:
編寫完Models,怎么把類同步到數據庫,生成數據表呢?
1、命令行中進入manage.py的同級目錄
2、執行 python3 manage.py makemigrations app名(sign)(可選,如果不指定應用名,默認是該項目下的所有應用)
3、再執行 python3 manage.py migrate,完成數據遷移
完成數據遷移后,Django會自動在sign/migrations目錄下生成移植文件
執行python3 manage.py sqlmigrate 應用名 文件id(0001) 查看SQL語句.
一、使用MySQL數據庫:
Django 默認使用自帶的sqlite3數據庫,對各種數據庫提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。
Django 為這些數據庫提供了統一的調用API。 我們可以根據自己業務需求選擇不同的數據庫。
MySQL 是 Web 應用中最常用的數據庫
使用MySQL數據庫步驟:
1、如果使用的 Python2.x 版本,那么連接 MySQL 數據庫可以使用 MySQL-python。 但是,MySQL-python 只支持 Python2.x 版本,並在 2014 年 1 月之后就不再更新了,但這並不影響對該庫的使 用。目前 Django 默認使用的是該驅動。如果使用的是 Python3.x 版本的 Django,所以這里推薦使用 PyMySQL 驅動。
命令:python3 -m pip install PyMySQL
因為 Django 在連接 MySQL 數據庫時默認使用的是 MySQLdb 驅動,我們現在安裝的是 PyMySQL 驅動,如何讓 Django 通過 PyMySQL 來 連接 MySQL 數據庫呢?在.../guest/__init__.py 目錄下添加:
import pymysql
pymysql.install_as_MySQLdb()
2、setting.py文件中配置MySQL數據庫
注意:切換了數據庫后,之前 Sqlite3 數據庫里的數據並不能復制到 MySQL 中,所以需要重新進行數據庫同步,使數據模型重新在 MySQL 數據庫中生成表。
執行 python3 manage.py migrate
二、視圖層Views進行數據庫的增、刪、改、查
在原項目中再新建一個應用contral,記得在settings中添加此應用
1、創建model表
並添加數據

5、編寫views
6.html代碼
7、成功獲取數據
增加數據

刪除數據
改數據
