1. 程式人生 > >flask 中get和post用法

flask 中get和post用法

get和post
1、get請求:
        使用場景:如果只對伺服器獲取資料,並沒有對伺服器產生任何影響,那麼這時候使用get請求
        傳參:get請求傳參是放在url中,並且是通過?的形式來指定key和value的
2、post請求:
        使用場景:如果要對伺服器產生影響,那麼使用post請求
        傳參:post請求傳參不是放在URL中,是通過form data 的形式傳送給伺服器的
get 其他年輕是通過flask.request.args來獲取
post請求是通過flask.request.form來獲取
post請求在模板中要注意幾點:
*input 標籤中,要寫name來表示這個value的key,方便後臺獲取
*在寫form表單的時候,要指定method=‘post’,並且要指定action='/login/'
1、get例項:
模板檔案index.html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>首頁</title></head><body><!--一旦點選連線就會訪問檢視函式search,通過檢視函式來反轉URL,URL的引數是q,值為hello:就會返回url:http://127.0.0.1:5000/search/?q=hello-->
<a href="{{ url_for('search',q='hello') }}">跳轉到搜尋頁面</a></body>

</html>

get_demo.py檔案:

#encoding:utf-8
from flask import Flask,render_template,request

app = Flask(__name__)


@app.route('/')
def index(): #一訪問127.0.0.1:5000就會返回index模板中的連結”跳轉到搜尋頁面”
return render_template('index.html')
@app.route
('/search/') def search(): #arguments print request.args #獲取所有引數 print request.args.get('q') #或者引數為q的值 return 'search' @app.route('/login/',methods=['GET','POST']) def login(): if request.method == 'GET': #如果請求方法時GET,返回login.html模板頁面 return render_template('login.html') else: username = request.form.get('username') password = request.form.get('password') if __name__ == '__main__': app.run()
2、post例項


login.html模板檔案:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首頁</title>
</head>
<body>
    <form action="{{ url_for('login') }}" method="post">
        <table>
            <tbody>
                <tr>
                    <td>使用者名稱:</td>
                    <td><input type="text" placeholder="請輸入使用者名稱" name="username"></td>
                </tr>
                <tr>
                    <td>密碼:</td>
                    <td><input type="text" placeholder="請輸入密碼" name="password"></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" value="登陸"></td>
                </tr>
            </tbody>

        </table>

    </form>
</body>
</html>
get_post_demo.py檔案
#encoding:utf-8
from flask import Flask,render_template,request

app = Flask(__name__)


@app.route('/')
def index(): #一訪問127.0.0.1:5000就會返回index模板中的連結”跳轉到搜尋頁面”
return render_template('index.html')
@app.route('/search/')
def search():
    #arguments
print request.args #獲取所有引數
print request.args.get('q') #或者引數為q的值
return 'search'
@app.route('/login/',methods=['GET','POST'])  #指定訪問頁面的方法
def login():
    if request.method == 'GET': #如果請求方法時GET,返回login.html模板頁面
return render_template('login.html')
    else:
        username = request.form.get('username')
        password = request.form.get('password')
        return 'post request'
if __name__ == '__main__':
    app.run()



相關推薦

flask getpost用法

get和post 1、get請求: 使用場景:如果只對伺服器獲取資料,並沒有對伺服器產生任何影響,那麼這時候使用get請求 傳參:get請求傳參是放在url中,並且是通過?的形式來指定key和value的 2、post請求: 使

PHP常用的超全局變量 表單getpost提交方式的區別 session與cookie的區別 GD庫是做什麽用的

屬性 過程 生成報表 用戶訪問 服務器 接收 file pla request PHP中常用的超全局變量 $_GET ----->get傳送方式$_POST ----->post傳送方式$_REQUEST ----->可以接收到get和post兩種方式的值

http協議getpost的區別

httpHttp定義了與服務器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETEURL全稱是資源描述符,我們可以這樣認 為:一個URL地址,它用於描述一個網絡上的資源,而HTTP中的GET,POST,PUT,DELETE就對應著對這個資源的查 ,改 ,增 ,刪 4個操作。到這裏,

form表單getpost兩種提交方式的區別

name bsp inpu get div post input 普通 表單 一、form表單中get和post兩種提交方式的區別?   1.get提交表單中的內容在鏈接處是可見的。post不可見   2.post相比於get是安全的   3.post不收限制大小,get有

servlet表單getpost方法的區別

pos span 轉化 不可見 上傳文件 post div font 支持 Form中的get和post方法,在數據傳輸過程中分別對應了HTTP協議中的GET和POST方法。二者主要區別如下:1、Get是用來從服務器上獲得數據,而Post是用來向服務器上傳遞數據。2、Get

C#GetPost請求的同步及異步方法

iter epo charset result string pty streambuf div httpget 在C#中發起Http請求一般使用HttpWebRequest這個類,下文將使用這個HttpWebRequest對象來對Get和Post的同步及異步請求進行封裝:

HTTP請求getpost的區別是什麽

信息 兩種 緩存 數據 request 取數 安全性 body 數據類型 GET和POST是Http請求中最常用的兩種請求方法 首先介紹GET與POST的差異:   (1)GET請求資源數據,POST向服務器傳遞需要處理的數據   (2)GET傳遞數據大小不超過2kb,PO

Http協議GETPOST請求方法的區別

出場 請求參數 底層 情況下 -type 過去 firefox url sym GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞

AJAXgetpost傳參知識點

AJAX中XMLHttpRequest以非同步方式的處理程式的特點:  1、建立非同步物件 var xhr = new XMLHttpRequest(); 2、設定請求報文 xhr.open() 發起請求,可以是get、post方式 xhr.setRequestHead

HTTP請求協議GETPOST兩種基本請求方法的區別

GET在瀏覽器回退時是無害的,而POST會再次提交請求。   GET產生的URL地址可以被Bookmark,而POST不可以。   GET請求會被瀏覽器主動cache,而POST不會,除非手動設定。   GET請求只能進行url編碼

HTTP協議GETPOST兩種基本請求方法的區別

GET和POST兩種基本請求方法的區別 GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。   最直觀的區別就是GET把引數包含在URL中,POST通過request body傳遞引數。   你可能自己寫過無數個G

ajaxgetpost請求

ajax中get請求五步走: 第一步:建立Ajax物件var xhr = createXhr(); 第二步:設定回撥函式  xhr.onreadystatechange = function() {} 第三步:初始化Ajax物件  xhr.open(‘get’,url

jQuery$.get()$.post()的異同點

相同點:兩者都是向伺服器非同步請求資料的.   不同點: 1.$.get() 方法使用GET方法來進行非同步請求的,$.post() 方法使用POST方法來進行非同步請求的.   2.如果前端使用$.get() 方法請求資料,後端需要使用$_

PHPgetpost區別?

在這裡為大家整理了兩種get和post的區別。 第一種: GET在瀏覽器回退時是無害的,而POST會再次提交請求。 GET產生的URL地址可以被Bookmark(標記),而POST不可以。  GET請求會被瀏覽器主動cache(儲存),而POST不會,除非手動設定。&nbs

HTTPGETPOST對比

HTTP中GET和POST對比 0x01 摘要 網上有不少文章直接拿出結論即GET比POST快,但是POST比GET安全,卻沒有給出詳細的解釋,我查了一些資料同大家分享下。 0x02 效率 GET操作有快取,可以使多次客戶端相同請求值會對伺服器傳送一個請求。

C#GetPost請求的同步及非同步方法

在C#中發起Http請求一般使用HttpWebRequest這個類,下文將使用這個HttpWebRequest物件來對Get和Post的同步及非同步請求進行封裝: 新建HttpRequestHelper類: public static class H

HTTPGETPOST方法的區別

HTTP請求的方法有很多:GET、POST、HEAD、TRACE、OPTIONS等,但是GET和POST是兩個最常用的方法。 GET是最簡單的一種請求方法,其主要功能是從伺服器端獲取使用者所需資源,並將其作為響應返回給客戶端,需要注意的是:GET方法的作用主要用來獲取伺

HTTP 請求 Get Post 區別

一、原理區別 一般我們在瀏覽器輸入一個網址訪問網站都是GET請求;再FORM表單中,可以通過設定Method指定提交方式為GET或者POST提交方式,預設為GET提交方式。 HTTP定義了與伺服器互動的不同方法,其中最基本的四種:GET,POST,PUT,DELETE,H

HTTP請求GETPOST的分析

近期一位朋友想寫iOS上的應用,打算從微博應用做起,第一步先做一個微部落格戶端出來,然後做一個手機微博應用出來,具體做什麼還不甚清楚,其實是在嘗試中。而我正好在用asio寫網路庫,於是主動提出了承擔web伺服器網路庫的部分,也是為了給我自己封裝的網路庫中增加一個http模組。http大家都不陌生,每天開啟網頁

Node.jsGetPost請求

   對於HTTP請求來說,我們通常使用的是Get和Post,除此之外還有put,delete等,而對於get來說,比較lightweight,只是對字串的傳輸,它會被新增到URL地址裡,屬於URL的一部分;而對於Post來說,就顯得重了一些,它的資料以包的形式存在,除了可以