Flask---第二個例子--Get和POST發送


*get:瀏覽器告訴服務器,我只需要獲取頁面信息給我,這是最簡單最常用的方法

*Post:覽器告訴服務器:想在 URL 上 發布 新信息。並且,服務器必須確保 數據已存儲且僅存儲一次。這是 HTML 表單通常發送數據到服務器的方法。

*route:路由,通過route() 裝飾器把一個函數綁定到對應的 URL 上。【默認路由是只回應GET請求,但是可以通過Method來改變這個行為】

 

1、使用GET方法(通常是默認GET或指定GET)

 1 from flask import Flask
 2 app = Flask(__name__)
 3 
 4 @app.route('/project')--------->默認GET,注意,這里URL結尾沒有以斜杠結尾,訪問時,如果不小心訪問成【http://127.0.0.1:5000/project/】,會提示404NOT FOUNT,也就是說必須以沒有斜杠的標准URL訪問  5 def hello_world():
 6     return '這是project頁面!'
 7 
 8 @app.route('/hello/',methods=['get'])-------->指定GET,兩種方式都行,注意,這里URL以斜杠結尾,和上一種的區別在於,不管訪問最后有沒有帶斜杠,最終都會被Flask重定向到帶斜線的規范URL去
 9 def hello(): 
10 return '這是HELLLO頁面,Hello World!!!!!!!!!!'
11
12 if __name__ == '__main__': 13 app.run(debug=True);

 

 

 

2、使用POST方法

@app.route('/register',methods=['POST'])   ----->該URL使用POST方法  
def register():
    print(request.headers);
    print(request.stream);#視圖函數
    return '歡飲'


if __name__ == '__main__':
    app.run(debug=True);   

 

 

3、動態構造URL

*下面的例子中,規則可以由方法中寫出,只要把需要構造的動態參數以<valuename>的形式寫入URL中即可

@app.route('/hello/<username>',methods=['get'])
def hello2(username):
    return username

 

*可輸入中文、整數、浮點數進行驗證,都是正常的

*但是輸入特殊字符,如【/】,會背看成是路徑符號,而提示NOT FOUNT,怎么破?

*輸入特殊字符,如【%40】,會被瀏覽器轉義,怎么破

附--錄:

字符    -    URL編碼值

空格    -    %20
"          -    %22
#         -    %23
%        -    %25
&         -    %26
(          -    %28
)          -    %29
+         -    %2B
,          -    %2C
/          -    %2F
:          -    %3A
;          -    %3B
<         -    %3C
=         -    %3D
>         -    %3E
?         -    %3F
@       -    %40
\          -    %5C
|          -    %7C 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM