Django連接Mysql數據庫教程

Django 連接Mysql數據庫教程

接觸Django的童鞋們都知道,Django默認的數據庫爲Sqlite,那麼怎麼使用Mysql數據庫進行連接呢,下面給大家詳細介紹

  1. 首先搭建好Python環境和Django工程,創建app
創建工程:django-admin startproject 工程名 
創建app
cd mysite 
python manage.py startapp app01
python manage.py startapp app02
  1. Django項目中安裝pymysql和mysqlclient
pip install pymysql
pip install mysqlclient

這裏大家要注意,一定要安裝在當前項目的site-packages中
例如,我的Django項目在E:/django2,那麼pymysql和mysqlclient安裝在E:/django2/venv/Lib/site-packages中

  1. 配置setting文件
    首先在INSTALLED_APPS 中加入你的app名,我的app名爲app01,app02
    在這裏插入圖片描述
  2. 在setting中配置Mysql數據庫
    在這裏插入圖片描述
    NAME:數據庫的名字
    HOST:連接的主機,默認爲本地
    PORT:連接的端口,默認爲3306
    USER:用戶登錄數據庫的用戶名
    PASSWORD:登錄數據庫所使用的密碼
  3. 在app中寫表結構
    在你在創建數據庫的app中配置models文件
    我這裏給大家用app02進行舉例:
    在這裏插入圖片描述
    創建一個作者的類,裏面有三個參數,分別是姓,名,郵箱
    使用的是char類型,最大長度爲32,郵箱使用的是郵箱的數據類型,這裏的數據類型有很多種,下面我給出大家Django官方文檔,大家可以詳細學習
    Django models 數據類型官方文檔
  4. 配置admin文件
    在這裏插入圖片描述
  5. 登錄本地mysql數據庫,創建剛纔setting中命名的數據庫,我命名的是django2
    在這裏插入圖片描述
    8.生成配置文件
    python manage.py makemgirations #生成配置文件
    python manage.py migrate #根據配置創建數據庫相關東西
    這兩行代碼在地方敲呢,有兩種方式
    1. 如果你使用的是Pycharm的話,可以點擊Terminal,會自動進入該工程下,然後打那兩行代碼
      在這裏插入圖片描述
    2. 如果你用的不是Pycharm的話,進入cmd,找到你的Django工程的目錄下,打那兩行代碼
      注意:如果在打完 python manage.py makemgirations 後報錯,下面我給出常見的幾種報錯的解決辦法
    3. 報錯1: django.core.exceptions.ImproperlyConfigured: mysqlclient 1.x.xx or newer is required; you have 0.x.x.
      具體報錯內容:
raise ImproperlyConfigured('mysqlclient 1.x.xx or newer is required; you have %s.' % Database.__version__)

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.x.xx or newer is required; you have 0.x.x.

       解決辦法:
進入Django工程目錄/Lib/site-packages/django/db/backends/mysql/base.py 註釋到下面的內容。

# if version < (1, 3, 13):
#   raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
4. 報錯2:AttributeError: 'str' object has no attribute 'decode'

	報錯內容:
File "xx\Python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
AttributeError: 'str' object has no attribute 'decode'
	解決辦法:

打開工程項目下的\lib\site-packages\django\db\backends\mysql\operations.py 把146行的 decode 修改爲 encode 即可

  1. 創建超級用戶,用於後臺管理
python manage.py createsuperuser 用戶名

輸入郵箱,密碼,創建完成

  1. 運行manage.py文件
    在這裏插入圖片描述
    當出現這個頁面時,說明連接成功
  2. 在網頁上輸入127.0.0.1:8000/admin/ 回車,進入Django網頁管理入口,輸入用戶名和密碼進行登錄
    在這裏插入圖片描述
  3. 隨後就顯示數據庫的網頁管理平臺
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章