中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行Python Flask入門

發布時間:2021-11-11 20:57:32 來源:億速云 閱讀:133 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關怎么進行Python Flask入門,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

追溯到最初,Flask 誕生于 Armin Ronacher 在 2010 年愚人節開的一個玩笑。后來,它逐漸發展成為一個成熟的 Python Web 框架,越來越受到開發者的喜愛。

Flask 是典型的微框架,作為 Web 框架來說,它僅保留了核心功能:請求響應處理和模板渲染。這兩類功能分別由 Werkzeug(WSGI 工具庫)完成和 Jinja(模板渲染庫)完成。

主頁

主頁的 URL 一般就是根地址,即 / 。

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return 'Welcome to my web'
 if __name__=="__main__":
    app.run()

怎么進行Python Flask入門

現在打開瀏覽器,訪問 http://localhost:5000 即可訪問我們的程序主頁

分析代碼:

1、首先我們從 flask 包導入 Flask 類,通過實例化這個類,創建一個程序對象app :

from flask import Flask
app = Flask(__name__)

2、接下來,我們要注冊一個處理函數,這個函數是處理某個請求的處理函數,Flask官方把它叫做視圖函數(view funciton)。所謂的“注冊”,就是給這個函數戴上一個裝飾器帽子。我們使用 app.route() 裝
飾器來為這個函數綁定對應的 URL,當用戶在瀏覽器訪問這個 URL 的時候,就會觸發這個函數,獲取返回值,并把返回值顯示到瀏覽器窗口:

@app.route('/')
def hello():
    return 'Welcome to my web'

提示:為了便于理解,你可以把 Web 程序看作是一堆這樣的視圖函數的集合:編寫不同的函數處理對應 URL 的請求。
填入 app.route() 裝飾器的第一個參數是 URL 規則字符串,這里的“/” 指的是根地址。我們只需要寫出相對地址,主機地址、端口號等都不需要寫出。所以說,這里的“/” 對應的是主機名后面的路徑部分,完整 URL 就是 “http://localhost:5000/”。如果我們這里定義的 URL 規則是 “/hello” ,那么完整 URL 就是“http://localhost:5000/hello”。

整個請求的處理過程如下所示:

1.當用戶在瀏覽器地址欄訪問這個地址,在這里即 http://localhost:5000/

2. 服務器解析請求,發現請求 URL 匹配的 URL 規則是 / ,因此調用對應的處
理函數 hello()

3. 獲取 hello() 函數的返回值,處理后返回給客戶端(瀏覽器)

4. 瀏覽器接受響應,將其顯示在窗口上

修改視圖函數返回值

首先,你可以自由修改視圖函數的返回值,返回值作為響應的主體,默認會被瀏覽器作為 HTML 格式解析,所以我們可以添加一個 HTML 元素標記:

@app.route('/')
def hello():
    return '<h2>Hello Totoro!</h2><img src="http://helloflask.com/totoro.gif">'

保存修改后,只需要在瀏覽器里刷新頁面,你就會看到頁面上的內容也會隨之變化。

修改 URL 規則

另外,你也可以自由修改傳入 app.route 裝飾器里的 URL 規則字符串,但要注意以斜線 / 作為開頭。比如:

@app.route("/HelloWorld")
def hello_word():
    return "hello world"

保存修改,這時刷新瀏覽器,則會看到一個 404 錯誤提示,提示頁面未找到(Page Not Found)。這是因為視圖函數的 URL 改成了 “/HelloWorld” ,而我們刷新后訪問的地址仍然是舊的 “/” 。如果我們把訪問地址改成“http://localhost:5000/home”,就會正確看到返回值。

一個視圖函數也可以綁定多個 URL,這通過附加多個裝飾器實現,比如:

@app.route('/')
@app.route('/index')
@app.route("/HelloWorld")
def hello_word():
    return "hello world"

現在無論是訪問 “http://localhost:5000/”、“http://localhost:5000/HelloWorld” 還是“http://localhost:5000/index” 都可以看到返回值。

在前面,我們之所以把傳入 app.route 裝飾器的參數稱為 URL 規則,是因為我們也可以在 URL 里定義變量部分。比如下面這個視圖函數會處理所有類似“/user/” 的請求:

app.route('/user/<name>')
def user_page(name):
    return 'User page'

不論你訪問 “http://localhost:5000/user/Tom”,還是“http://localhost:5000/user/Jerry”,都會觸發這個函數。通過下面的方式,我們也可以在視圖函數里獲取到這個變量值:

@app.route('/user/<name>')
def user_page(name):
    return 'User: %s' % name

修改視圖函數名

最后一個可以修改的部分就是視圖函數的名稱了。首先,視圖函數的名字是自由定義的,和 URL 規則無關。和定義其他函數或變量一樣,只需要讓它表達出所要處理頁面的含義即可。

除此之外,它還有一個重要的作用:作為代表某個路由的端點(endpoint),同時用來生成 URL。對于程序內的 URL,為了避免手寫,Flask 提供了一個 url_for函數來生成 URL,它接受的第一個參數就是端點值,默認為視圖函數的名稱:

from flask import url_for, Flask
 app = Flask(__name__) 
@app.route('/')
def hello():
    return 'Hello' 
@app.route('/user/<name>')
def user_page(name):
    return 'User: %s' % name 
@app.route('/test')
def test_url_for():
    print(url_for('hello'))  # 輸出:/
    # 注意下面兩個調用是如何生成包含 URL 變量的 URL 的
    print(url_for('user_page', name='Tom'))  # 輸出:/user/Tom
    print(url_for('user_page', name='Jerry'))  # 輸出:/user/Jerry
    print(url_for('test_url_for'))  # 輸出:/test
    # 下面這個調用傳入了多余的關鍵字參數,它們會被作為查詢字符串附加到 URL后面。
    print(url_for('test_url_for', number=2))  # 輸出:/test?number=2
    return 'Test page' 
if __name__=="__main__":
    app.run()

怎么進行Python Flask入門

關于怎么進行Python Flask入門就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禄劝| 陇西县| 卢湾区| 都江堰市| 安岳县| 太保市| 青阳县| 和政县| 福泉市| 芜湖县| 新宁县| 修武县| 肇州县| 鲜城| 青海省| 申扎县| 弥勒县| 长白| 六安市| 年辖:市辖区| 布拖县| 晋中市| 桂林市| 牡丹江市| 金沙县| 洪洞县| 榆林市| 灯塔市| 偃师市| 句容市| 光山县| 平顺县| 四会市| 东台市| 东兴市| 兴隆县| 濮阳市| 江门市| 肇庆市| 景泰县| 嵊泗县|