Flask 學習例項(一)

2021-08-14 23:39:18 字數 4339 閱讀 7062

作者是乙個使用多種語言開發複雜程式並且擁有十多年經驗的軟體工程師。作者第一次學習 python 是在為乙個 c++ 庫建立繫結的時候。

除了 python,作者曾經用 php, ruby, smalltalk 甚至 c++ 寫過 web 應用。在所有這些中,python/flask 組合是作者認為最為自由的一種。

作為本教程的一部分–我要開發的應用程式是乙個極具特色的微博伺服器,我稱之為 microblog 。

我會隨著應用程式的不斷地進展將涉及到如下這些主題:

我希望這個應用程式將能夠成為編寫其它型別的 web 應用程式的乙個樣板,當它完成的時候。

本教程假定你很熟悉作業系統的終端視窗(命令提示符為 windows 使用者),清楚基本命令列檔案管理功能。如果你還不熟悉這些的話,我強烈建議你先學習使用命令列,比如如何建立資料夾等,接著再繼續。

最後,你應該還能夠很舒服地(熟練地)編寫 python **。強烈推薦熟悉 python 的 python 模組和包 。

好的,讓我們開始吧!

現在我們必須開始安裝 flask 以及一些我們會用到的擴充套件。我首選的方式就是建立乙個 虛擬環境 ,這個環境能夠安裝所有的東西,而你的主 python 不會受到影響。另外乙個好處就是這種方式不需要你擁有 root 許可權。

因此,開啟乙個終端視窗,選擇乙個你想要放置應用程式的位置以及建立乙個包含它的新的資料夾。讓我們把這個應用程式的資料夾稱為microblog

如果你正在使用 python 3.4,先進入到microblog目錄中接著使用如下的命令建立乙個虛擬環境:

$ python -m venv flask

需要注意地是在某些系統中你可能要使用 python3 來代替 python。上面的命令列在 flask 資料夾中建立乙個完整的 python 環境。

$ sudo easy_install virtualenv

如果你使用 linux,你需要獲取乙個包。例如,如果你使用 ubuntu:

$ sudo apt-get install python-virtualenv

windows 使用者們在安裝 virtualenv 上有些麻煩,因此如果你想省事的話,請直接安裝 python 3.4。在 windows 上安裝 virtualenv 最簡單地方式就是先安裝 pip,安裝方式在 這裡 。一旦安裝好了 pip 的話,下面的命令可以安裝 virtualenv:

$ pip install virtualenv

為了建立乙個虛擬環境,請輸入如下的命令列

$ virtualenv flask

上面的命令列在 flask 資料夾中建立乙個完整的 python 環境。

虛擬環境是能夠啟用以及停用的,如果需要的話,乙個啟用的環境可以把它的 bin 資料夾加入到系統路徑。我個人是不喜歡這種特色,所以我從來不啟用任何環境相反我會直接輸入我想要呼叫的直譯器的路徑。

如果你是在 linux, os x 或者 cygwin 上,通過乙個接乙個輸入如下的命令列來安裝 flask 以及擴充套件:

$ flask/bin/pip install flask

$ flask/bin/pip install flask-login

$ flask/bin/pip install flask-openid

$ flask/bin/pip install flask-mail

$ flask/bin/pip install flask-sqlalchemy

$ flask/bin/pip install sqlalchemy-migrate

$ flask/bin/pip install flask-whooshalchemy

$ flask/bin/pip install flask-wtf

$ flask/bin/pip install flask-babel

$ flask/bin/pip install guess_language

$ flask/bin/pip install flipflop

$ flask/bin/pip install coverage

如果是在 windows 上的話,命令列有些不同

$ flask\scripts\pip install flask

$ flask\scripts\pip install flask-login

$ flask\scripts\pip install flask-openid

$ flask\scripts\pip install flask-mail

$ flask\scripts\pip install flask-sqlalchemy

$ flask\scripts\pip install sqlalchemy-migrate

$ flask\scripts\pip install flask-whooshalchemy

$ flask\scripts\pip install flask-wtf

$ flask\scripts\pip install flask-babel

$ flask\scripts\pip install guess_language

$ flask\scripts\pip install flipflop

$ flask\scripts\pip install coverage

現在在你的 microblog 資料夾中下有乙個 flask 子資料夾,這裡有 python 直譯器以及 flask 框架以及我們將要在這個應用程式中使用的擴充套件。 是時候去編寫我們第乙個 web 應用程式!

在 cd 到 microblog 資料夾後,我們開始為應用程式建立基本的檔案結構:

mkdir

mkdir

/static

mkdir

/templates

mkdir

tmp

from

flask

import

flask

=flask

(__name__

)from

import

views

上面的指令碼簡單地建立應用物件,接著匯入檢視模組,該模組我們暫未編寫。

檢視是響應來自網頁瀏覽器的請求的處理器。在 flask 中,檢視是編寫成 python 函式。每乙個檢視函式是對映到乙個或多個請求的 url。

from

import

.route

('/').

route

('/index'

)def

index

():return

"hello, world!"

其實這個檢視是非常簡單,它只是返回乙個字串,在客戶端的網頁瀏覽器上顯示。兩個 route 裝飾器建立了從** / 以及 /index 到這個函式的對映。

能夠完整工作的 web 應用程式的最後一步是建立乙個指令碼,啟動我們的應用程式的開發 web 伺服器。讓我們稱這個指令碼為 run.py,並把它置於根目錄:

#!flask/bin/python

from

import

.run

(debug

=true

)

要啟動應用程式,您只需執行此指令碼(run.py)。在os x,linux 和 cygwin 上,你必須明確這是乙個可執行檔案,然後你可以執行它:

chmoda+

xrun

.py

然後指令碼可以簡單地按如下方式執行:

./

run.

py

在 windows 上過程可能有些不同。不再需要指明檔案是否可執行。相反你必須執行該指令碼作為 python 直譯器的乙個引數:

flask

/scripts

/python

run.

py

在伺服器初始化後,它將會監聽 5000 埠等待著連線。現在開啟你的網頁瀏覽器輸入如下 url:

另外你也可以使用這個 url:

你看清楚了路由對映是如何工作的嗎?第乙個 url 對映到 /,而第二個 url 對映到 /index。這兩個路由都關聯到我們的檢視函式,因此它們的作用是一樣的。如果你輸入其它的**,你將會獲得乙個錯誤,因為只有這兩個 url 對映到檢視函式。

FLask學習筆記 Flask概念(一)

1.程式例項 flask類的物件,只有乙個強制指定的引數 程式主模組或包的名字。通常用如下 建立 from flask import flask2.路由和檢視函式 處理url和函式之間關係的程式稱為路由。def index return hello world 上圖中index 即為檢視函式 動態路...

flask學習之路(一)

安裝flask pip install flask 非常方便 我的python是2.7.9 32位包,flask版本是 c users jack z pip show flask metadata version 1.1 name flask version 0.10.1 summary a mic...

Flask學習系列(一)

安裝python,安裝virtualenv pip install virtualenv 建立虛擬py環境 virtualenv vpython 啟用虛擬py環境 venv scripts activate.bat 安裝flask pip install flask 應用程式是存在於 包 中的。在p...