您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么在Python項目中安裝Flask環境,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
安裝環境
使用虛擬環境安裝Flask,可以避免包的混亂和版本的沖突,虛擬環境是Python解釋器的副本,在虛擬環境中你可以安裝擴展包,為每個程序單獨創建的虛擬環境,可以保證程序只能訪問虛擬環境中的包。而不會影響系統中安裝的全局Python解釋器,從而保證全局解釋器的整潔。
虛擬環境使用virtualenv創建,可以查看系統是否安裝了virtualenv:
$ virtualenv --version
安裝虛擬環境(須在聯網狀態下)
$ sudo pip install virtualenv $ sudo pip install virtualenvwrapper
創建虛擬環境(ubuntu里須在聯網狀態下)
$ mkvirtualenv Flask_py
進入虛擬環境
$ workon Flask_py
退出虛擬環境
如果所在環境為真實環境,會提示deactivate:未找到命令
$ deactivate Flask_py
安裝Flask
指定Flask版本安裝
$ pip install flask==0.10.1
Mac系統:
$ easy_install flask==0.10.1
在ipython中測試安裝是否成功
$ from flask import Flask
Flask程序運行過程:
所有Flask程序必須有一個程序實例。
Flask調用視圖函數后,會將視圖函數的返回值作為響應的內容,返回給客戶端。一般情況下,響應內容主要是字符串和狀態碼。
當客戶端想要獲取資源時,一般會通過瀏覽器發起HTTP請求。此時,Web服務器使用WSGI(Web Server Gateway Interface)協議,把來自客戶端的所有請求都交給Flask程序實例,程序實例使用Werkzeug來做路由分發(URL請求和視圖函數之間的對應關系)。根據每個URL請求,找到具體的視圖函數。 在Flask程序中,路由的實現一般是通過程序實例的裝飾器實現。通過調用視圖函數,獲取到數據后,把數據傳入HTML模板文件中,模板引擎負責渲染HTTP響應數據,然后由Flask返回響應數據給瀏覽器,最后瀏覽器處理返回的結果顯示給客戶端。
示例:
# 導入Flask類 from flask import Flask #Flask函數接收一個參數__name__,它會指向程序所在的模塊 app = Flask(__name__) # 裝飾器的作用是將路由映射到視圖函數index @app.route('/') def index(): return 'Hello World' # Flask應用程序實例的run方法啟動WEB服務器 if __name__ == '__main__': app.run()
給路由傳參示例:
有時我們需要將同一類URL映射到同一個視圖函數處理,比如:使用同一個視圖函數 來顯示不同用戶的個人信息。
# 路由傳遞的參數默認當做string處理,這里指定int,尖括號中的內容是動態的 @app.route('/user/<int:id>') def hello_itcast(id): return 'hello itcast %d' %id
返回狀態碼示例:
return后面可以自主定義狀態碼(即使這個狀態碼不存在)。當客戶端的請求已經處理完成,由視圖函數決定返回給客戶端一個狀態碼,告知客戶端這次請求的處理結果。
@app.route('/') def hello_itcast(): return 'hello itcast',999
abort函數:
如果在視圖函數執行過程中,出現了異常錯誤,我們可以使用abort函數立即終止視圖函數的執行。通過abort函數,可以向前端返回一個http標準中存在的錯誤狀態碼,表示出現的錯誤信息。
使用abort拋出一個http標準中不存在的自定義的狀態碼,沒有實際意義。如果abort函數被觸發,其后面的語句將不會執行。其類似于python中raise。
from flask import Flask,abort @app.route('/') def hello_itcast(): abort(404) return 'hello itcast',999
重定向redirect示例
from flask import redirect @app.route('/') def hello_itcast(): return redirect('http://www.baidu.com')
正則URL示例:
from flask import Flask from werkzeug.routing import BaseConverter class Regex_url(BaseConverter): def __init__(self,url_map,*args): super(Regex_url,self).__init__(url_map) self.regex = args[0] app = Flask(__name__) app.url_map.converters['re'] = Regex_url @app.route('/user/<re("[a-z]{3}"):id>') def hello_itcast(id): return 'hello %s' %id
設置cookie和獲取cookie
from flask import Flask,make_response @app.route('/cookie') def set_cookie(): resp = make_response('this is to set cookie') resp.set_cookie('username', 'itcast') return resp
from flask import Flask,request #獲取cookie @app.route('/request') def resp_cookie(): resp = request.cookies.get('username') return resp
以上就是怎么在Python項目中安裝Flask環境,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。