程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> django使用mysql(本地環境下)

django使用mysql(本地環境下)

編輯:MySQL綜合教程

django使用mysql(本地環境下)


事例使用的django版本是1.4.0(最近在使用sae,沒辦法,只好從1.7.1撤了回來)。不過原理大概都是相仿的吧。

django支持多種數據庫管理工具,如mysql, postgresql, sqlite, 和oracle。其中sqlite是內置在python中的,所以如果使用sqlite的話,就不必進行相關配置,盡情地使用python來管理即可,當然也就不用看本博文了。

本博文就以mysql為例,來演示 “本地環境下 (與雲環境對應),django使用mysql的步驟” (首先確定你已經安裝了mysql)

 

step 1:

修改你的django project目錄下的settings.py 文件至如下所示:

\

 

其中,'NAME' 對應的 ‘db_name' 是你事先使用mysql 的命令行提示符創建的數據庫名稱。注意:在django使用數據庫之前,你必須先創建出數據庫,否則會報錯。'USER'對應的'username' 還有 'PASSWORD' 對應的‘passwd' 就是你在mysql中創建的用戶名和密碼。如果你有多個的話,隨便填一個就好。'HOST'和'PORT'默認都可以不填。

題外話: 使用用戶名和密碼登錄mysql的方法:

首先,你需要進入 mysql/bin的目錄下,也可以在.bash_profile中設置環境變量:

 

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 試試,結果會提示你錯誤找不到 MySQLdb 這個module, 為什麼呢, 因為 python manage.py syncdb 命令是這樣工作的:

1. 在project目錄的settings.py的INSTALLED_APPS元組中找到可能需要更新的APP。

2. 找到每一個APP目錄中的models.py (關系定義文件),並針對變化在數據庫中進行更新。

說了這麼多,前面那個錯誤 找不到 module MySQLdb 是什麼意思啊 ?

 

先給個圖,再解釋:

\

因為在models.py中定義關系使用的是python,而真正在數據庫中操作形成model當然一定要用sql語句,所以必須要有一些功能模塊來把python語句轉化成sql語句。如果你使用sqlite的話,由於sqlite和轉化模塊都已經由python內置了,所以直接使用不會發生錯誤。但是 ”mysql語句的轉化模塊“ 就需要你手動加載了,這些模塊放在 MySQL-python 中。

我是使用pip 安裝的:

\

安裝了之後,再使用 python manage.py syncdb就OK啦。

 

我使用的系統是 OS X,下面是 mysql 默認的安裝路徑

/usr/local/Cellar/mysql/5.6.22/

如果你想知道你的數據庫文件是放在哪裡的,你可以查看mysql_config文件中的ldata變量,這個變量的值就是 默認的數據庫文件夾存儲的路徑。 我的系統中,mysql_config的完整路徑是 :

 

/usr/local/Cellar/mysql/5.6.22/bin/mysql_config

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved