python用django连接mysql_三分钟了解Django如何连接Mysql数据库
處理用戶注冊(cè)請(qǐng)求、Django連接MysqL數(shù)據(jù)庫(kù)相關(guān)配置、數(shù)據(jù)庫(kù)遷移命令:
my_Dproject/app01/views.py? ? 在views函數(shù)文件中添加register函數(shù),來(lái)處理用戶注冊(cè)的請(qǐng)求。
Tips:獲取get請(qǐng)求數(shù)據(jù)的方式跟POST請(qǐng)求完全一樣。
獲取到用戶注冊(cè)信息,接下來(lái)需要連接數(shù)據(jù)庫(kù),拿到數(shù)據(jù)庫(kù)的用戶數(shù)據(jù)進(jìn)行驗(yàn)證,注冊(cè)的成功與否。
Django連接MySQL數(shù)據(jù)庫(kù)的方法:
my_Dproject/my_Dproject/settings.py? ? 繼續(xù)回到settings配置文件中,來(lái)配置Django連接MySQL。
DATABASES?=?{
'default':?{
'ENGINE':?'django.db.backends.mysql',
'NAME':?'my_Dproject',
'HOST':?'127.0.0.1',
'PORT':?3306,
'USER':?'root',
'PASSWORD':?'123',
}
}
還沒(méi)完,接著需要去項(xiàng)目的init文件中添加相關(guān)信息,告訴Django用MySQL數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)就行。
my_Dproject/my_Dproject/__Init__.py中添加下面信息:import?pymysql
pymysql.install_as_MySQLdb()
(這里需要注意:__init__.py文件還在app01文件中有,也可以在app01中的init文件中添加,效果一樣。)
配置添加Django中orm的models文件
重點(diǎn):Django的orm不能自動(dòng)幫我們創(chuàng)建數(shù)據(jù)庫(kù),但是可以自動(dòng)幫我們創(chuàng)建表,同時(shí)一個(gè)Django項(xiàng)目就使用一個(gè)數(shù)據(jù)庫(kù)。
my_Dproject/app01/models.py? 中添加映射表的相關(guān)類(lèi)。
這里我們需要用到用戶數(shù)據(jù)表,所以創(chuàng)建一張User類(lèi)來(lái)映射MySQL數(shù)據(jù)庫(kù)中的user用戶表。class?User(models.Model):
id?=?models.AutoField(primary_key=True)
name?=?models.CharField(max_length=32)
password?=?models.CharField(max_length=16)
映射表的類(lèi)創(chuàng)建完畢后,需要進(jìn)行關(guān)鍵的2步【數(shù)據(jù)庫(kù)遷移命令】操作,才能創(chuàng)建出user表:
第一步:將數(shù)據(jù)庫(kù)變動(dòng)記錄記錄到一個(gè)文件中:
在pycharm自帶的Terminal命令行中輸入:python3?manage.py?makemigrations
第二步:將數(shù)據(jù)庫(kù)變動(dòng)同步到數(shù)據(jù)庫(kù)中:python3?manage.py?migrate
重點(diǎn):
以后只要涉及到數(shù)據(jù)庫(kù)的一絲變動(dòng)(這里主要說(shuō)的是表結(jié)構(gòu)),要想讓變動(dòng)生效一定要執(zhí)行這2步數(shù)據(jù)庫(kù)遷移(同步)命令!!!
這里提一個(gè)小點(diǎn):我們?cè)跍y(cè)試時(shí)候如果遇到下面這種情況:
解決辦法是:在settings.py文件中注釋掉一行代碼:
總結(jié)
以上是生活随笔為你收集整理的python用django连接mysql_三分钟了解Django如何连接Mysql数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 亏?赚?
- 下一篇: ef mysql6.0 5.6_Win1