安裝 Flask
好的,讓我們開始吧!
現在我們必須開始安裝 Flask 以及一些我們會用到的擴展。我首選的方式就是創建一個虛擬環境,這個環境能夠安裝所有的東西,而你的主 Python 不會受到影響。另外一個好處就是這種方式不需要你擁有管理員權限。
因此,打開一個終端窗口,選擇一個你想要放置應用程序的位置以及創建一個包含它的新的文件夾。讓我們把這個應用程序的文件夾稱爲 microblog 。
如果你正在使用 Python 3.4,先進入到 microblog 目錄中接着使用如下的命令創建一個虛擬環境:
$ python -m venv flask
需要注意地是在某些系統中你可能要使用 python3 來代替 python。上面的命令行在 flask 文件夾中創建一個完整的 Python 環境。
如果你使用 Python 3.4 以下的版本(包括 python 2.7),你需要在創建虛擬環境之前下載以及安裝virtualenv.py。如果你在使用 Mac OS X,請使用下面的命令行安裝:
$ sudo easy_install virtualenv
如果你使用 Linux,你需要獲取一個包。例如,如果你使用 Ubuntu:
$ sudo apt-get install python-virtualenv
Windows 用戶們在安裝 virtualenv 上有些麻煩,因此如果你想省事的話,請直接安裝 Python 3.4。在 Windows 上安裝 virtualenv 最簡單地方式就是先安裝 pip,安裝方式在 這裏 <https://pip.pypa.io/en/latest/installing.html>。一旦安裝好了 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
這些命令行將會下載以及安裝我們將會在我們的應用程序中使用的所有的包。
在 Flask 中的 “Hello, World”
現在在你的 microblog 文件夾中下有一個 flask 子文件夾,這裏有 Python 解釋器以及 Flask 框架以及我們將要在這個應用程序中使用的擴展。 是時候去編寫我們第一個 web 應用程序!
在 cd 到 microblog 文件夾後,我們開始爲應用程序創建基本的文件結構:
mkdir app
mkdir app/static
mkdir app/templates
mkdir tmp
可以在終端中挨個的創建文件夾,同樣也可以在編輯器中直接創建flask項目
我們的應用程序包是放置於 app 文件夾中。子文件夾 static 是我們存放靜態文件像圖片,JS文件以及樣式文件。子文件夾 templates 顯然是存放模板文件。
讓我們開始爲我們的 app 包(文件 app/__init__.py )創建一個簡單的初始化腳本:
from flask import Flask
app = Flask(__name__)
from app import views
上面的腳本簡單地創建應用對象,接着導入視圖模塊,該模塊我們暫未編寫。
視圖是響應來自網頁瀏覽器的請求的處理器。在 Flask 中,視圖是編寫成 Python 函數。每一個視圖函數是映射到一個或多個請求的 URL。
讓我們編寫第一個視圖函數(文件 app/views.py ):
from app import app
@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
其實這個視圖是非常簡單,它只是返回一個字符串,在客戶端的網頁瀏覽器上顯示。兩個 route 裝飾器創建了從網址 / 以及 /index 到這個函數的映射。
能夠完整工作的 Web 應用程序的最後一步是創建一個腳本,啓動我們的應用程序的開發 Web 服務器。讓我們稱這個腳本爲 run.py,並把它置於根目錄:
#!flask/bin/python
from app import app
app.run(debug = True)
這個腳本簡單地從我們的 app 包中導入 app 變量並且調用它的 run 方法來啓動服務器。請記住 app 變量中含有我們在之前創建的 Flask 實例。
要啓動應用程序,您只需運行此腳本(run.py)。在OS X,Linux 和 Cygwin 上,你必須明確這是一個可執行文件,然後你可以運行它:
chmod a+x run.py
然後腳本可以簡單地按如下方式執行:
./run.py
在 Windows 上過程可能有些不同。不再需要指明文件是否可執行。相反你必須運行該腳本作爲 Python 解釋器的一個參數:
flask/Scripts/python run.py
在服務器初始化後,它將會監聽 5000 端口等待着連接。現在打開你的網頁瀏覽器輸入如下 URL:
http://localhost:5000
另外你也可以使用這個 URL:
http://localhost:5000/index
你看清楚了路由映射是如何工作的嗎?第一個 URL 映射到 /,而第二個 URL 映射到 /index。這兩個路由都關聯到我們的視圖函數,因此它們的作用是一樣的。如果你輸入其它的網址,你將會獲得一個錯誤,因爲只有這兩個 URL 映射到視圖函數。