開始安裝 Flask,首先建立一個虛擬環境,這個環境可以安裝全部的東西,而你的主 Python 不會受到影響。另一個好處就是這種方式不須要你擁有 root 權限。python
開始搭建環境:打開一個終端窗口,選擇一個你想要放置應用程序的位置以及建立一個包含它的新的文件夾。讓咱們把這個應用程序的文件夾稱爲 microblog 。sql
若是你正在使用 Python 3.4,先進入到 microblog 目錄中接着使用以下的命令建立一個虛擬環境:flask
$ python -m venv flask
須要注意地是在某些系統中你可能要使用 python3 來代替 python。上面的命令行在 flask 文件夾中建立一個完整的 Python 環境。ubuntu
若是你使用 Python 3.4 如下的版本(包括 python 2.7),你須要在建立虛擬環境以前下載以及安裝 virtualenv.py 。
若是你使用 Linux,你須要獲取一個包。例如,若是你使用 Ubuntu:瀏覽器
$ sudo apt-get install python-virtualenv
爲了建立一個虛擬環境,請輸入以下的命令行 $ virtualenv flask
經過一個接一個輸入以下的命令行來安裝 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
這裏就再也不一一演示了。
至此安裝完畢
建立第一個Flask項目:babel
在 cd 到 microblog 文件夾後,咱們開始爲應用程序建立基本的文件結構: mkdir app mkdir app/static mkdir app/templates mkdir tmp
讓咱們開始爲咱們的 app 包(文件 app/__init__.py )建立一個簡單的初始化腳本:app
from flask import Flask app = Flask(__name__) from app import views
讓咱們編寫第一個視圖函數(文件 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)。你必須明確這是一個可執行文件,而後你能夠運行它:
chmod a+x run.py
而後腳本能夠簡單地按以下方式執行:
./run.py
若是不執行以上操做直接用也是能夠的:
$python run.py
在服務器初始化後,它將會監聽 5000 端口等待着鏈接。如今打開你的網頁瀏覽器輸入以下 URL:
http://127.0.0.1:5000/
另外你也可使用這個 URL:
http://localhost:5000/index
最後筆者有一點要提醒:
可能有小夥伴在按照手順作的時候最後運行run.py出錯了:
究其緣由在這裏:
最後一行return沒有退格。是否是很尷尬。
這樣就沒問題了:
因此在ubuntu下編碼仍是須要找一款適合的IDE來,否則光開文本編輯器來很容易出錯,固然高手更願意喜歡用文本編輯器來編譯以此來挑戰本身QAQ。