django使用mysql (本地環境下)

來源:互聯網
上載者:User

標籤:style   ar   color   os   使用   sp   on   檔案   資料   

本博文案例使用的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中設定環境變數:

再輸入 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/bin/mysql_config


django使用mysql (本地環境下)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.