欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python安裝Flask環(huán)境及簡單應(yīng)用示例

 更新時間:2019年05月03日 10:16:20   作者:xuezhangjun  
這篇文章主要介紹了Python安裝Flask環(huán)境及簡單應(yīng)用,結(jié)合實例形式分析了Flask框架的安裝、以及路由、重定向、cookie等相關(guān)操作實現(xiàn)方法,需要的朋友可以參考下

本文實例講述了Python安裝Flask環(huán)境及簡單應(yīng)用。分享給大家供大家參考,具體如下:

安裝環(huán)境

使用虛擬環(huán)境安裝Flask,可以避免包的混亂和版本的沖突,虛擬環(huán)境是Python解釋器的副本,在虛擬環(huán)境中你可以安裝擴展包,為每個程序單獨創(chuàng)建的虛擬環(huán)境,可以保證程序只能訪問虛擬環(huán)境中的包。而不會影響系統(tǒng)中安裝的全局Python解釋器,從而保證全局解釋器的整潔。

虛擬環(huán)境使用virtualenv創(chuàng)建,可以查看系統(tǒng)是否安裝了virtualenv:

$ virtualenv --version

安裝虛擬環(huán)境(須在聯(lián)網(wǎng)狀態(tài)下)

$ sudo pip install virtualenv
$ sudo pip install virtualenvwrapper

創(chuàng)建虛擬環(huán)境(ubuntu里須在聯(lián)網(wǎng)狀態(tài)下)

$ mkvirtualenv Flask_py

進入虛擬環(huán)境

$ workon Flask_py

退出虛擬環(huán)境

如果所在環(huán)境為真實環(huán)境,會提示deactivate:未找到命令

$ deactivate Flask_py

安裝Flask

指定Flask版本安裝

$ pip install flask==0.10.1

Mac系統(tǒng):

$ easy_install flask==0.10.1

在ipython中測試安裝是否成功

$ from flask import Flask

Flask程序運行過程:

所有Flask程序必須有一個程序?qū)嵗?/p>

Flask調(diào)用視圖函數(shù)后,會將視圖函數(shù)的返回值作為響應(yīng)的內(nèi)容,返回給客戶端。一般情況下,響應(yīng)內(nèi)容主要是字符串和狀態(tài)碼。

當客戶端想要獲取資源時,一般會通過瀏覽器發(fā)起HTTP請求。此時,Web服務(wù)器使用WSGI(Web Server Gateway Interface)協(xié)議,把來自客戶端的所有請求都交給Flask程序?qū)嵗?,程序?qū)嵗褂肳erkzeug來做路由分發(fā)(URL請求和視圖函數(shù)之間的對應(yīng)關(guān)系)。根據(jù)每個URL請求,找到具體的視圖函數(shù)。 在Flask程序中,路由的實現(xiàn)一般是通過程序?qū)嵗难b飾器實現(xiàn)。通過調(diào)用視圖函數(shù),獲取到數(shù)據(jù)后,把數(shù)據(jù)傳入HTML模板文件中,模板引擎負責(zé)渲染HTTP響應(yīng)數(shù)據(jù),然后由Flask返回響應(yīng)數(shù)據(jù)給瀏覽器,最后瀏覽器處理返回的結(jié)果顯示給客戶端。

示例:

# 導(dǎo)入Flask類
from flask import Flask
#Flask函數(shù)接收一個參數(shù)__name__,它會指向程序所在的模塊
app = Flask(__name__)
# 裝飾器的作用是將路由映射到視圖函數(shù)index
@app.route('/')
def index():
  return 'Hello World'
# Flask應(yīng)用程序?qū)嵗膔un方法啟動WEB服務(wù)器
if __name__ == '__main__':
  app.run()

給路由傳參示例:

有時我們需要將同一類URL映射到同一個視圖函數(shù)處理,比如:使用同一個視圖函數(shù) 來顯示不同用戶的個人信息。

# 路由傳遞的參數(shù)默認當做string處理,這里指定int,尖括號中的內(nèi)容是動態(tài)的
@app.route('/user/<int:id>')
def hello_itcast(id):
  return 'hello itcast %d' %id

返回狀態(tài)碼示例:

return后面可以自主定義狀態(tài)碼(即使這個狀態(tài)碼不存在)。當客戶端的請求已經(jīng)處理完成,由視圖函數(shù)決定返回給客戶端一個狀態(tài)碼,告知客戶端這次請求的處理結(jié)果。

@app.route('/')
def hello_itcast():
  return 'hello itcast',999

abort函數(shù):

如果在視圖函數(shù)執(zhí)行過程中,出現(xiàn)了異常錯誤,我們可以使用abort函數(shù)立即終止視圖函數(shù)的執(zhí)行。通過abort函數(shù),可以向前端返回一個http標準中存在的錯誤狀態(tài)碼,表示出現(xiàn)的錯誤信息。

使用abort拋出一個http標準中不存在的自定義的狀態(tài)碼,沒有實際意義。如果abort函數(shù)被觸發(fā),其后面的語句將不會執(zhí)行。其類似于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

設(shè)置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

希望本文所述對大家基于flask框架的Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python+Pygame實戰(zhàn)之俄羅斯方塊游戲的實現(xiàn)

    Python+Pygame實戰(zhàn)之俄羅斯方塊游戲的實現(xiàn)

    俄羅斯方塊,作為是一款家喻戶曉的游戲,陪伴70、80甚至90后,度過無憂的兒時歲月,它上手簡單能自由組合、拼接技巧也很多。本文就來用Python中的Pygame模塊實現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-12-12
  • Python利用request庫實現(xiàn)翻譯接口

    Python利用request庫實現(xiàn)翻譯接口

    這篇文章主要為大家詳細介紹了Python如何利用request庫打造自己的翻譯接口,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Django對接elasticsearch實現(xiàn)全文檢索的示例代碼

    Django對接elasticsearch實現(xiàn)全文檢索的示例代碼

    搜索是很常用的功能,如果是千萬級的數(shù)據(jù)應(yīng)該怎么檢索,本文主要介紹了Django對接elasticsearch實現(xiàn)全文檢索的示例代碼,感興趣的可以了解一下
    2021-08-08
  • 詳解Python中的__new__()方法的使用

    詳解Python中的__new__()方法的使用

    本文主要介紹了Python中的__new__()方法的使用的基本知識,本文中給出了基于Python2.x的代碼實例,需要的朋友可以參考一下
    2015-04-04
  • python動態(tài)性強類型用法實例

    python動態(tài)性強類型用法實例

    這篇文章主要介紹了python動態(tài)性強類型用法,對比C#實例分析了python動態(tài)性強類型的使用方法,需要的朋友可以參考下
    2015-05-05
  • Python+Matplotlib+LaTeX玩轉(zhuǎn)數(shù)學(xué)公式

    Python+Matplotlib+LaTeX玩轉(zhuǎn)數(shù)學(xué)公式

    這篇文章主要為大家介紹了如何在Matplotlib中使用LaTeX?公式和符號以及Python如何生成LaTeX數(shù)學(xué)公式。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-02-02
  • python的圖形用戶界面介紹

    python的圖形用戶界面介紹

    大家好,本篇文章主要講的是python的圖形用戶界面介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式

    python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式

    今天小編就為大家分享一篇python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pytorch如何實現(xiàn)邏輯回歸

    pytorch如何實現(xiàn)邏輯回歸

    這篇文章主要介紹了pytorch如何實現(xiàn)邏輯回歸問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python3讀取MySQL-Front的MYSQL密碼

    python3讀取MySQL-Front的MYSQL密碼

    本篇文章主要介紹了python3讀取MySQL-Front的MYSQL密碼的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05

最新評論