成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Flask Web 開發(fā)實戰(zhàn)筆記

羅志環(huán) / 3122人閱讀

摘要:開發(fā)實戰(zhàn)筆記安裝和使用虛擬環(huán)境虛擬環(huán)境是解釋器的一個私有副本,在這個環(huán)境中你可以安裝私有的包,而且不會影響系統(tǒng)中安裝的全局的解釋器。處理和函數(shù)之間關系的程序稱為路由。例如在請求開始時,我們需要創(chuàng)建數(shù)據(jù)庫連接或認證發(fā)起請求的用戶。

幾天前和同事一起喝酒,大家談到為什么開始讀書這件事。這里所說的讀書不是專業(yè)的書籍,而是一些閑書。結果發(fā)現(xiàn)原來我們開始讀書的原因很功利。都是因為生活中遇到了困惑,希望在書中找到答案。

人就是這樣,即便在書中找不到答案。在看書的過程中發(fā)現(xiàn),這個世界上居然有很多人是和我一樣的。我解決不了的問題居然困擾了很多人。當從內而外,推己及人,發(fā)現(xiàn)這是一個外部世界普遍的問題,而不是自己本身的能力、性格和承受能力的問題,這時就會相對輕松,至少為自己的偷懶找到了借口。按照羅胖曾經(jīng)說過的“其實人大多數(shù)時候沒有自己的觀點,在人生某一個階段的觀點,不過是對現(xiàn)狀的解釋罷了”

當然說到這里,我自然已經(jīng)過了那個功利的階段。因為隨著你讀書越多、思考越多、對世界的了解越多,會發(fā)現(xiàn)你所面對的未知領域越來越大,而且沒有邊界。轉而因為興趣讀書,似乎才能帶來愉快的體驗。

Flask Web 開發(fā)實戰(zhàn)筆記 安裝和使用虛擬環(huán)境

虛擬環(huán)境是Python解釋器的一個私有副本,在這個環(huán)境中你可以安裝私有的包,而且不會影響系統(tǒng)中安裝的全局的解釋器。
另外一個好處是,不需要管理員權限。

虛擬環(huán)境使用第三方實用工具virtualenv創(chuàng)建

安裝方式略。使用virtualenv創(chuàng)建虛擬環(huán)境,虛擬名稱一般為env,當然你可以選擇不同的名字

#創(chuàng)建虛擬環(huán)境
virtualenv env
#創(chuàng)建完成后,env目錄下出現(xiàn)如下目錄
Include/  
Lib/  
Scripts/  
pip-selfcheck.json  
tcl/

激活虛擬環(huán)境(windows下)

venvScriptsactivate

激活后,提示符變成(venv)$

#激活后就可以直接執(zhí)行語句,并通過瀏覽器http://127.0.0.1訪問
(venv)$ python hello.py
一個完整程序的結構
#初始化
from flask import Flask
app = Flask(__name__)

#路由和視圖函數(shù)
@app.route("/")
def index():
    return "

Hello World!

" #啟動服務器 #debug=True 啟動調試模式 #如果我們想要其他人訪問,可以使用app.run(host=0.0.0.0.0,debug=True) if __name__ == "__main__": app.run(debug=True)

flask類的構造只有一個必須指定的參數(shù),即程序主模塊或包的名字。在大多數(shù)程序中,Python的__name__變量就是所需的值。

處理URL和函數(shù)之間關系的程序稱為路由。

在Flask程序中定義路由最簡便的方式,是使用程序實例提供的app.route修飾器。

緊隨修飾器之后的函數(shù),我們稱之為視圖函數(shù)[index()]。

程序和請求上下文

Flask從客戶端收到請求時,要讓視圖函數(shù)能夠訪問一些對象,這樣才能處理請求。
那么要想讓視圖函數(shù)能夠訪問對象,一個顯而易見的方法是將其作為參數(shù)傳入視圖函數(shù)。
如你所想,這樣會導致每個視圖函數(shù)都要增加一個參數(shù)。并且考慮到,如果視圖函數(shù)還需要訪問其他對象,那么情況可能更糟。所以,F(xiàn)lask使用上下文臨時的把某些對象變?yōu)槿挚稍L問。

from flask import request

@app.route("/")
def index():
    user_agent= request.headers.get("User-Agent")
    return "

Your browser is %s

" % user-agent

Flask上下文分為程序上下文和請求上下文

Flask在分發(fā)請求之前激活程序和請求上下文,請求處理結束后再將其刪除。

程序上下文被推送之后,就可以在線程中使用current_app 和 g 變量

請求上下文被推送后,就額可以使用request和session變量。

請求鉤子

有時在處理請求之前或之后執(zhí)行代碼會很有用。例如在請求開始時,我們需要創(chuàng)建數(shù)據(jù)庫連接或認證發(fā)起請求的用戶。為了避免在每個視圖中都使用重復的代碼,F(xiàn)lask提供了注冊通用函數(shù)的功能。

請求鉤子使用修飾器實現(xiàn)。Flask支持以下4中鉤子

before_first_request: 注冊是一個函數(shù),在處理第一個請求之前運行

before_request : 注冊一個函數(shù),在每次請求之前運行

after_request: 注冊一個函數(shù),如果沒有未處理的異常拋出,在每次請求之后運行。

teardown_request:注冊一個函數(shù),即使有未被處理的異常拋出,也在每次請求之后運行。

在請求鉤子函數(shù)和視圖函數(shù)之間共享數(shù)據(jù)一般使用上下文全局變量g
例如,before_request處理程序可以從數(shù)據(jù)庫中加載已登錄用戶,并將其保存到g.user中。
隨后調用視圖函數(shù)時,視圖函數(shù)在使用g.user獲取用戶。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/38217.html

相關文章

  • 我的第一本 gitbook: Flask Web 開發(fā)筆記

    摘要:月份發(fā)布了第版,收到不少網(wǎng)友的良好建議,所以又抽空進行了完善,當然也拖了不少時間。本書主要介紹的基本使用,這也是我一開始在學習過程中經(jīng)常用到的。第章實戰(zhàn),介紹了如何開發(fā)一個簡單的應用。聲明本書由編寫,采用協(xié)議發(fā)布。 showImg(https://segmentfault.com/img/remote/1460000007484050?w=200&h=152); 書籍地址 head-f...

    KevinYan 評論0 收藏0
  • Python學習筆記:Web后端開發(fā)一覽

    摘要:試想,在多線程服務器中,多個線程同時處理不同客戶端發(fā)送的不同請求時,每個線程看到的對象必然不同。多線程服務器會創(chuàng)建一個線程池,再從線程池中選擇一個線程用于處理接收到的請求。 框架 Django flask flask是一個輕量的web開發(fā)應用示例開發(fā)一個小應用 from flask import Flask app = Flask(__name__) @app.route(/) d...

    DrizzleX 評論0 收藏0
  • Python3網(wǎng)絡爬蟲實戰(zhàn)---6、Web庫的安裝:Flask、Tornado

    摘要:在本書中用到的一些服務程序主要有。本節(jié)來分別介紹它們的安裝方法。的安裝是一個輕量級的服務程序,簡單易用靈活,在本書中我們主要用它來做一些服務,本節(jié)我們來了解下它的安裝方式。相關鏈接官方文檔安裝執(zhí)行完畢之后即可完成安裝。 上一篇文章:Python3網(wǎng)絡爬蟲實戰(zhàn)---5、存儲庫的安裝:PyMySQL、PyMongo、RedisPy、RedisDump下一篇文章:Python3網(wǎng)絡爬蟲實戰(zhàn)-...

    yeyan1996 評論0 收藏0
  • Web 開發(fā)學習筆記(1) --- 搭建你的第一個 Web Server

    摘要:簡介是一個輕量級的框架如果要學習開發(fā)非常適合作為我們學習的起點通過接下來的這一些列的博客我們將學習如何利用以及其他工具搭建一個簡單的網(wǎng)站開發(fā)環(huán)境命令如下第一個首先我們創(chuàng)建一個文件夾并在其中新建一個文件接著我們打開按照的示例 簡介 Flask 是一個輕量級的 Web 框架, 如果要學習 Web 開發(fā), Flask 非常適合作為我們學習的起點. 通過接下來的這一些列的博客, 我們將學習如何...

    calx 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<