欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

flask-帶你快速入門-創(chuàng)新互聯(lián)

一個小應(yīng)用

創(chuàng)建一個Python文件:hello.py

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、福貢網(wǎng)絡(luò)推廣、小程序定制開發(fā)、福貢網(wǎng)絡(luò)營銷、福貢企業(yè)策劃、福貢品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供福貢建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:chinadenli.net
from flask import Flask
app = Flask(__name__)   #app是程序?qū)嵗?,一個項(xiàng)目只能有一個程序?qū)嵗鼲app.route('/')   #路由裝飾器def hello_world():  #視圖函數(shù)
    return 'Hello World!'  #返回一個字符串if __name__ == '__main__':
     app.run()1234567812345678

用python解釋器來運(yùn)行

$ python hello.py
* Running on http://127.0.0.1:5000/1212
上面代碼
  1. 首先,我們導(dǎo)入了 Flask 類。這個類的實(shí)例將會是我們的 WSGI 應(yīng)用程序

  2. 接下來,我們創(chuàng)建一個該類的實(shí)例,第一個參數(shù)是應(yīng)用模塊或者包的名稱。 如果你使用單
    塊(如本例),你應(yīng)該使用 name ,因?yàn)槟K的名稱將會因其作為單獨(dú)應(yīng)用啟動還是作
    塊導(dǎo)入而有不同( 也即是 ‘main’ 或?qū)嶋H的導(dǎo)入名)。這是必須的,這樣 Flask 才知道
    去找模板、靜態(tài)文件等等。詳情見 Flask的文檔。

  3. 然后,我們使用 route() 裝飾器告訴 Flask 什么樣的URL 能觸發(fā)我們的函數(shù)。

  4. 這個函數(shù)的名字也在生成 URL 時被特定的函數(shù)采用,這個函數(shù)返回我們想要顯示在用戶瀏
    的信息。

  5. 最后我們用 run() 函數(shù)來讓應(yīng)用運(yùn)行在本地服務(wù)器上。 其中 if name ==’main‘: 確保服
    只會在該腳本被 Python 解釋器直接執(zhí)行的時候才會運(yùn)行,而不是作為模塊導(dǎo)入的時候。

關(guān)閉服務(wù)器,按 Ctrl+C。

# 修改調(diào)用 run() 的方法使你的服務(wù)器公開可用
app.run(host='0.0.0.0')123123

調(diào)試代碼

雖然 run() 方法適用于啟動本地的開發(fā)服務(wù)器,但是你每次修改代碼后都要手動重啟它。這樣并不夠
優(yōu)雅,而且 Flask 可以做到更好。如果你啟用了調(diào)試支持,服務(wù)器會在代碼修改后自動重新載入,并
在發(fā)生錯誤時提供一個相當(dāng)有用的調(diào)試器。就算出錯了,也不用重新啟動。
有兩種途徑來啟用調(diào)試模式。一種是直接在應(yīng)用對象上設(shè)置:

app.debug = True
app.run()1212

另一種是作為 run 方法的一個參數(shù)傳入:

app.run(debug=True)11

兩種方法的效果完全相同。

路由裝飾器

這里是一些基本的例子:

@app.route('/') def index():   
     return 'Index'@app.route('/hello/') def hello():    
    return '<h2>Hello world!</h2>'12345671234567

客戶端(例如 Web 瀏覽器)把請求發(fā)送給 Web 服務(wù)器, Web 服務(wù)器再把請求發(fā)送給 Flask程序?qū)嵗3绦驅(qū)嵗枰缹γ總€ URL 請求運(yùn)行哪些代碼,所以保存了一個 URL 到Python 函數(shù)的映射關(guān) 系。處理 URL 和函數(shù)之間關(guān)系的程序稱為路由。

在 Flask程序中,定義路由使用 app.route修飾器,route()裝飾器把一個函數(shù)綁定到對應(yīng)的URL上。

函數(shù)的返回值叫響應(yīng),是客戶端接收到的內(nèi)容。如果客戶端是 Web 瀏覽器, 響應(yīng)就是顯示給 用戶查看的文檔。

像index()這樣的,稱為是視圖函數(shù)。視圖函數(shù)返回的響應(yīng)可以是包含html的簡單字符串,也可以是復(fù)雜的表單。

變量規(guī)則

@app.route('/user/<name>')def showUserName(name):    
    return "User %s" %name@app.route('/post/<int:post_id>') def showPostId(post_id):    
    return "Post %d" %post_id12345671234567

很多URL地址都包含可變部分。flask中,只需在route修飾器中使用特殊的句法

尖括號的內(nèi)容就是動態(tài)部分,任何能匹配靜態(tài)部分的URL都會映射到這個路由上。調(diào)用視圖函數(shù)的時候,flask會將動態(tài)部分作為參數(shù)傳入函數(shù)中。

路由中的動態(tài)部分默認(rèn)是使用字符串,不過也可以使用類型定義。。例如,路由 /user/只會匹配動 態(tài)片段 id 為整數(shù)的 URL。 Flask 支持在路由中使用 int、 float 和 path 類型。path 類型也是字符串,但不把斜線視作分隔符,而將其當(dāng)作動態(tài)片段的一部分。

變量規(guī)則就是處理動態(tài)信息的。
【注意】

  • app.route()函數(shù)中尖括號里面的是變量名,必須和視圖函數(shù)的形參名一致

  • 如果是int或者float類型,不能直接return。必須轉(zhuǎn)換為字符串格式才可以,否則會報(bào)錯: TypeError: ‘int’ object is not callable

重定向和錯誤

  • 用redirect()函數(shù)把用戶重定向到其他地方

  • 用abort()函數(shù)放棄請求并返回錯誤代碼

@app.route('/redir/') def redir():    
    return redirect('/login/')@app.route('/login/') def login():   
     abort(401)1234567812345678

用戶會從/redir/重定向到一個不能訪問的頁面 (401 意味著禁止訪問)。

造URL

用url_for()來給指定的函數(shù)生成url。它接受函數(shù)名作為第一個參數(shù),也接受對應(yīng)URL規(guī)則的變量部分的命名參數(shù)。

@app.route('/world/') def world():    # return redirect('/hello/')    # return redirect(url_for('hello'))    # return redirect(url_for('showUserName',name = 'liusheng'))    return redirect(url_for('showPostId', post_id = 100)) # 注意這里的100可以是字符串也可以是整型12345671234567

使用url_for()生成 URL 的好處:
- 允許一次性修改 URL,而不用到處邊找邊改。
- URL 構(gòu)建會轉(zhuǎn)義特殊字符和 Unicode 數(shù)據(jù),免去你很多麻煩。

使用Flask-Script支持命令行選項(xiàng)

Flask-Script是一個Flask擴(kuò)展,為Flask程序添加了一個命令行解析器。Flask-Script 自帶了 一組常用選項(xiàng),而且還支持自定義命令。

Flask-Script 擴(kuò)展使用 pip 安裝:

(venv) $ pip install flask-script11

把命令行解析功能添加到 hello.py 程序中時需要修改的地方:

from flask_script import Manager 
manager = Manager(app)if __name__ == '__main__':    
    manager.run()1234512345

這樣修改之后,程序可以使用一組基本命令行選項(xiàng)。
我們運(yùn)行 python hello.py runserver 來啟動 Web 服 務(wù)器。

還有很多選項(xiàng)來代替app的debug和host屬性:

--host HOST 設(shè)置host為 HOST --port PORT 設(shè)置port為 PORT-d 設(shè)置以debug模式運(yùn)行而非run模式 
-r 設(shè)置自動重新載入(app.debug為True)12341234

命令:

python hello.py runserver -d -r --host 0.0.0.011

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

網(wǎng)頁標(biāo)題:flask-帶你快速入門-創(chuàng)新互聯(lián)
本文來源:http://chinadenli.net/article36/deiisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作微信公眾號、云服務(wù)器外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化