最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)境中你可以安裝擴(kuò)展包,為每個程序單獨創(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

進(jìn)入虛擬環(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)碼。

當(dāng)客戶端想要獲取資源時,一般會通過瀏覽器發(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模板文件中,模板引擎負(fù)責(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ù)默認(rèn)當(dāng)做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)碼不存在)。當(dāng)客戶端的請求已經(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標(biāo)準(zhǔn)中存在的錯誤狀態(tài)碼,表示出現(xiàn)的錯誤信息。

使用abort拋出一個http標(biāo)準(zhǔn)中不存在的自定義的狀態(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中subprocess的簡單使用示例

    Python中subprocess的簡單使用示例

    這篇文章主要介紹了Python中subprocess的簡單使用示例,是Python進(jìn)程方面處理的相關(guān)重要知識,需要的朋友可以參考下
    2015-07-07
  • python修改pip install默認(rèn)安裝路徑的詳細(xì)步驟

    python修改pip install默認(rèn)安裝路徑的詳細(xì)步驟

    pip安裝的第三方庫默認(rèn)存放在C盤中,為了便于管理和不過度占用C盤空間所以想修改默認(rèn)的pip路徑,文章通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • python設(shè)置 matplotlib 正確顯示中文的四種方式

    python設(shè)置 matplotlib 正確顯示中文的四種方式

    這篇文章主要介紹了python設(shè)置 matplotlib 正確顯示中文的四種方式,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05
  • Python Web框架Django的模型和數(shù)據(jù)庫遷移詳解

    Python Web框架Django的模型和數(shù)據(jù)庫遷移詳解

    Django 是一個極其強(qiáng)大的 Python Web 框架,它提供了許多工具和特性,能夠幫助我們更快速、更便捷地構(gòu)建 Web 應(yīng)用,在本文中,我們將會關(guān)注 Django 中的模型(Models)和數(shù)據(jù)庫遷移(Database Migrations)這兩個核心概念,需要的朋友可以參考下
    2023-08-08
  • Python教程pandas數(shù)據(jù)分析去重復(fù)值

    Python教程pandas數(shù)據(jù)分析去重復(fù)值

    Pandas指定行進(jìn)行去重更新值,加載數(shù)據(jù)sample抽樣函數(shù),指定需要更新的值append直接添加append函數(shù)用法,根據(jù)某一列key值進(jìn)行去重key唯一
    2021-09-09
  • OpenCV學(xué)習(xí)之圖像梯度算子詳解

    OpenCV學(xué)習(xí)之圖像梯度算子詳解

    這篇文章主要為大家詳細(xì)介紹了OpenCV中圖像梯度算子的各種操作,例如Sobel算子、Scharr算子和laplacian算子等操作,感興趣的可以了解一下
    2023-02-02
  • Pipenv一鍵搭建python虛擬環(huán)境的方法

    Pipenv一鍵搭建python虛擬環(huán)境的方法

    這篇文章主要介紹了Pipenv一鍵搭建python虛擬環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Python Flask-web表單使用詳解

    Python Flask-web表單使用詳解

    這篇文章主要為大家詳細(xì)介紹了Python Flask-web表單的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python之PyQt6對話框的實現(xiàn)

    Python之PyQt6對話框的實現(xiàn)

    這篇文章主要介紹了Python之PyQt6對話框的實現(xiàn),文章內(nèi)容詳細(xì),簡單易懂,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2023-01-01
  • numpy 實現(xiàn)返回指定行的指定元素的位置索引

    numpy 實現(xiàn)返回指定行的指定元素的位置索引

    這篇文章主要介紹了numpy 實現(xiàn)返回指定行的指定元素的位置索引操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論

紫阳县| 灯塔市| 千阳县| 塔河县| 正安县| 邢台县| 望都县| 盐亭县| 镇原县| 北宁市| 沈阳市| 会昌县| 宁远县| 丰镇市| 通河县| 兴义市| 咸宁市| 芦山县| 寿光市| 乐亭县| 浮山县| 田阳县| 马关县| 巧家县| 晋中市| 高邮市| 兴化市| 正宁县| 罗山县| 亳州市| 汉中市| 新丰县| 南陵县| 思茅市| 根河市| 山东省| 鲜城| 商南县| 全州县| 淳安县| 江安县|