django本地安装mysql_django使用mysql(本地环境下)_MySQL
事例使用的django版本是1.4.0(最近在使用sae,沒辦法,只好從1.7.1撤了回來)。不過原理大概都是相仿的吧。
django支持多種數(shù)據(jù)庫管理工具,如mysql, postgresql, sqlite, 和oracle。其中sqlite是內(nèi)置在python中的,所以如果使用sqlite的話,就不必進(jìn)行相關(guān)配置,盡情地使用python來管理即可,當(dāng)然也就不用看本博文了。
本博文就以mysql為例,來演示 “本地環(huán)境下 (與云環(huán)境對(duì)應(yīng)),django使用mysql的步驟” (首先確定你已經(jīng)安裝了mysql)
step 1:
修改你的django project目錄下的settings.py 文件至如下所示:
其中,'NAME' 對(duì)應(yīng)的 ‘db_name' 是你事先使用mysql 的命令行提示符創(chuàng)建的數(shù)據(jù)庫名稱。注意:在django使用數(shù)據(jù)庫之前,你必須先創(chuàng)建出數(shù)據(jù)庫,否則會(huì)報(bào)錯(cuò)。'USER'對(duì)應(yīng)的'username' 還有 'PASSWORD' 對(duì)應(yīng)的‘passwd' 就是你在mysql中創(chuàng)建的用戶名和密碼。如果你有多個(gè)的話,隨便填一個(gè)就好。'HOST'和'PORT'默認(rèn)都可以不填。
題外話: 使用用戶名和密碼登錄mysql的方法:
首先,你需要進(jìn)入 mysql/bin的目錄下,也可以在.bash_profile中設(shè)置環(huán)境變量:
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/
再在prompt輸入 mysql -u username -p, 回車后再輸入 passwd即可
step 2:
然后,在manage.py路徑中使用python manage.py syncdb 試試,結(jié)果會(huì)提示你錯(cuò)誤找不到 MySQLdb 這個(gè)module, 為什么呢, 因?yàn)?python manage.py syncdb 命令是這樣工作的:
1. 在project目錄的settings.py的INSTALLED_APPS元組中找到可能需要更新的APP。
2. 找到每一個(gè)APP目錄中的models.py (關(guān)系定義文件),并針對(duì)變化在數(shù)據(jù)庫中進(jìn)行更新。
說了這么多,前面那個(gè)錯(cuò)誤 找不到 module MySQLdb 是什么意思啊 ?
先給個(gè)圖,再解釋:
因?yàn)樵趍odels.py中定義關(guān)系使用的是python,而真正在數(shù)據(jù)庫中操作形成model當(dāng)然一定要用sql語句,所以必須要有一些功能模塊來把python語句轉(zhuǎn)化成sql語句。如果你使用sqlite的話,由于sqlite和轉(zhuǎn)化模塊都已經(jīng)由python內(nèi)置了,所以直接使用不會(huì)發(fā)生錯(cuò)誤。但是 ”mysql語句的轉(zhuǎn)化模塊“ 就需要你手動(dòng)加載了,這些模塊放在 MySQL-python 中。
我是使用pip 安裝的:
安裝了之后,再使用 python manage.py syncdb就OK啦。
我使用的系統(tǒng)是 OS X,下面是 mysql 默認(rèn)的安裝路徑
/usr/local/Cellar/mysql/5.6.22/
如果你想知道你的數(shù)據(jù)庫文件是放在哪里的,你可以查看mysql_config文件中的ldata變量,這個(gè)變量的值就是 默認(rèn)的數(shù)據(jù)庫文件夾存儲(chǔ)的路徑。 我的系統(tǒng)中,mysql_config的完整路徑是 :
/usr/local/Cellar/mysql/5.6.22/bin/mysql_config
相關(guān)標(biāo)簽:環(huán)境
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的django本地安装mysql_django使用mysql(本地环境下)_MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯管家中的壁纸无下载按钮,如何保存?
- 下一篇: Oracle数据库adg数据没同步,Or