如何使用Flask開發一個增刪改查的應用

發表於2016-04-15

我們將建立一個簡單的資料庫驅動的筆記本應用。本教程面向想學習如何使用Flask開發網站或者web應用的初學者。

在學習本教程之前,請先安裝好Python和SQLite。如果你還沒有在電腦上安裝,請先安裝。如果你安裝的Python版本為2.5或者更高,那麼你就無需安裝SQLite了,Python 2.5之後的版本都已經內建了SQLite。
Python: https://www.python.org/
SQLite: https://www.sqlite.org/download.html

本教程主要包含的內容:

  • 使用模板
  • 儲存一條記錄到資料庫中
  • 從資料庫中獲取一條記錄
  • 更新資料庫中的一條記錄
  • 刪除資料庫中的一條記錄

應用的功能:

  • 使用者可以建立一篇筆記(一篇筆記包含題目和內容)
  • 使用者可以瀏覽筆記列表
  • 使用者可以編輯一篇筆記
  • 使用者可以刪除一篇筆記

OK,我們開始開發。
首先,我們需要安裝Flask和Flask-SQLAlchemy。
開啟一個控制檯視窗(Windows中的命令列工具),然後逐一執行以下命令:

現在,建立一個資料夾,用於存放應用的原始碼,我們將這個資料夾命名為note_app
在剛建立的檔案中,建立一個名為main.py的檔案。

在本教程中,我們將使用模板,所以,我們繼續建立一個資料夾,用於存放模板。使用templates作為它的名字,它應該位於note_app資料夾下面。當我們使用模板時,Flask會自動找到templates資料夾下面的模板,這也是我們將這個資料夾命名為templates的原因。

參考: http://flask.pocoo.org/docs/0.10/quickst…

下面,我們開始寫程式碼,在main.py檔案中

然後,我們建立實際的應用,同時建立SQLAlchemy物件,並把它傳遞給應用。

獲取成為Python開發專家的技巧。訪問: http://treehouse.7eer.net/c/245500/24564…

下面,我們將建立一個模型:

上面的這個Note模型將用於對資料庫中的筆記進行建立,獲取,更新和刪除的操作。我們的Note模型有一個Integer型別的id屬性,它作為主鍵。title欄位是String型別,它最多可以包含80個字元(你可以把字串的最大值改成你想要的,這裡我們只是把它設定為80),最後是一個Text型別的body屬性。
Integer,String,Text都是資料型別,你可以在SQLAlchemy的官方文件檢視到一系列的你可以使用的資料型別:http://docs.sqlalchemy.org/en/latest/cor…

去你的終端視窗,逐一輸入以下命令:

上面的命令會初始化資料庫,它將建立資料庫和一個名為note的表。
現在,我們將建立一個函式,並且使用route()裝飾器將它繫結到一個URL上。

大致說來,當用使用者訪問我們網站的主頁(例如:http://mywebsite.com)時,flask就會呼叫我們在上面定義的home()函式。在home()函式裡,我們渲染了一個名為home.html的模板。

參考: http://flask.pocoo.org/docs/0.10/quickst…

現在,開啟home.html,然後複製下面的內容:

回到main.py檔案中,然後複製下面的程式碼到檔案底部:

你的main.py檔案的內容應該類似下面這樣:

現在,讓我們通過命令在終端視窗中(確保在note_app目錄下執行下面的命令)執行這個應用:

現在,在瀏覽器裡訪問http://127.0.0.1:5000/
你應該會看到這個主頁:

我們現在這個應用的功能還不完善,在第二部分,我們將開發筆記頁面的建立,筆記列表等功能。

教程的原始碼放在Github上:https://github.com/basco-johnkevin/note-…

 

相關文章