您好,登錄后才能下訂單哦!
這篇文章主要介紹了Django中要怎么樣連接Mysql數(shù)據(jù)庫,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
處理用戶注冊請求、Django連接MysqL數(shù)據(jù)庫相關(guān)配置、數(shù)據(jù)庫遷移命令:
my_Dproject/app01/views.py 在views函數(shù)文件中添加register函數(shù),來處理用戶注冊的請求。
Tips:獲取get請求數(shù)據(jù)的方式跟POST請求完全一樣。
獲取到用戶注冊信息,接下來需要連接數(shù)據(jù)庫,拿到數(shù)據(jù)庫的用戶數(shù)據(jù)進行驗證,注冊的成功與否。
Django連接MySQL數(shù)據(jù)庫的方法:
my_Dproject/my_Dproject/settings.py 繼續(xù)回到settings配置文件中,來配置Django連接MySQL。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'my_Dproject', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '123', } }
還沒完,接著需要去項目的init文件中添加相關(guān)信息,告訴Django用MySQL數(shù)據(jù)庫連接數(shù)據(jù)庫就行。
my_Dproject/my_Dproject/__Init__.py中添加下面信息:
import pymysql pymysql.install_as_MySQLdb()
(這里需要注意:__init__.py文件還在app01文件中有,也可以在app01中的init文件中添加,效果一樣。)
配置添加Django中orm的models文件
重點:Django的orm不能自動幫我們創(chuàng)建數(shù)據(jù)庫,但是可以自動幫我們創(chuàng)建表,同時一個Django項目就使用一個數(shù)據(jù)庫。
my_Dproject/app01/models.py 中添加映射表的相關(guān)類。
這里我們需要用到用戶數(shù)據(jù)表,所以創(chuàng)建一張User類來映射MySQL數(shù)據(jù)庫中的user用戶表。
class User(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=32) password = models.CharField(max_length=16)
映射表的類創(chuàng)建完畢后,需要進行關(guān)鍵的2步【數(shù)據(jù)庫遷移命令】操作,才能創(chuàng)建出user表:
第一步:將數(shù)據(jù)庫變動記錄記錄到一個文件中:
在pycharm自帶的Terminal命令行中輸入:
python3 manage.py makemigrations
第二步:將數(shù)據(jù)庫變動同步到數(shù)據(jù)庫中:
python3 manage.py migrate
重點:
以后只要涉及到數(shù)據(jù)庫的一絲變動(這里主要說的是表結(jié)構(gòu)),要想讓變動生效一定要執(zhí)行這2步數(shù)據(jù)庫遷移(同步)命令?。?!
這里提一個小點:我們在測試時候如果遇到下面這種情況:
解決辦法是:在settings.py文件中注釋掉一行代碼:
感謝你能夠認真閱讀完這篇文章,希望小編分享Django中要怎么樣連接Mysql數(shù)據(jù)庫內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。