1. 程式人生 > >Flask帶參URL傳值的方法

Flask帶參URL傳值的方法

在Flask中編寫連結URL比較容易,這裡並不針對這些討論,但URL中如果包含可變部分路由以及攜帶一些引數應該怎麼做呢?

我們可以使用Flask模板提供的輔助函式url_for(),這裡通過一個完整的小例子來介紹帶參URL傳值的方法。

定義一個包含動態路由的Flask處理類:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def my():
    return render_template('/test.html')

@app.route('/test/<name>', methods=['GET'])
def test(name):
    print name
    return render_template('/test.html')

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

頁面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>帶參URL傳值方法</title>
</head>
<body>
    <a href="{{ url_for('test',name=1) }}">點選這裡檢視</a>
</body>
</html>

url_for('test',name=1)相當於我們傳遞的XXX/?name=1,點選這個連結,執行了動態路由test,並將name傳入輸出,此時顯示:

http://localhost:5000/test/1

我們看控制檯:

 

成功將引數打印出來。

還有一種URL傳值的格式:

假如URL是 http://localhost:5000/tk?xxx=1&xx=1 這種,那我們後臺路由如何接收呢?

此時可以使用Flask request方法:request.args.get(),例如,前臺請求URL為  http://localhost:5000/tk?p=1&type=1

接收引數的程式碼:

@app.route('/tk', methods=['post','get'])
def tk():
    p = request.args.get('p')
    type = request.args.get('type')
    print(p)
    print(type)
    return jsonify({'t': [p, type]})

相比我們更傾向用第一種,無論get或者post都可以使用,也更方便。

相關推薦

FlaskURL方法

在Flask中編寫連結URL比較容易,這裡並不針對這些討論,但URL中如果包含可變部分路由以及攜帶一些引數應該怎麼做呢? 我們可以使用Flask模板提供的輔助函式url_for(),這裡通過一個完整的小例子來介紹帶參URL傳值的方法。 定義一個包含動態路由的Fla

FlaskURL向後臺方法

Y29 後臺程式碼:(**name為前端所傳的值**) from flask import Flask, render_template app = Flask(__name__) @app.route('/test/<name>', method

URL加號“+”或者中文亂碼的解決方法

URL傳值帶加號“+”的問題的解決方法 今天在除錯客戶端向伺服器傳遞引數時,引數中的“+”全部變成了空格,原因是URL中預設的將“+”號轉義了。 解決方法如下: 方法一、修改客戶端,將客戶端帶“+”的引數中的“+”全部替換為‍“2B%”,這樣引數傳到伺服器

通過url的取方法

bstr www. new cap escape arc str sea regex 當前:url=www.baidu.com?id=2 id = GetQueryString(id)//2 function GetQueryString(name) { var reg =

Asp.Net Url 出現亂碼的解決方法(包括js)

("中華人明共和國"); http: //你要獲取某個頁面的返回值的地址" //傳送請求 HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(message) ; //接受請求 HttpWebResponse myH

Laravel分頁數的實現方法

list desc pos turn append derby nat des lin 控制器: $data[‘type‘] = 5;$data[‘member_list‘] = Member::orderBy(‘id‘, ‘desc‘)->paginate(10);

js url中文亂碼完美解決(JAVA)

div AR urldecode 更改 pos decode post 中文 解決亂碼 首先在你的jsp頁面這樣更改: var url="你要傳入的Action的位置&ipid="+ipid+"&keyWord="+key; 這裏的key是中文,從inp

C#跨窗體方法

方法1.通過建構函式傳值 Form1:   Form2 data = new Form2();//例項化物件   data.Name1 = textBox1.Text;//給物件賦值   data.Show(); Form2:   public partial class Form2 : Form

[轉] 兩個靜態html頁面方法的總結

問題 因最近嘗試實現客戶端與服務端分離,服務端只提供介面,客戶端用html+js實現,分成兩個獨立的專案部署,因專案是個人專案,客戶端展示不考慮使用像Angular、Vue、Native這種前端框架實現,於是全部使用靜態頁面實現,請求資料用ajax,在開發的過程中,就遇到了頁面之間傳

Python爬蟲:url的拼接

  如果連線直接這樣寫,看上去很直觀,不過引數替換不是很方便,而且看著不舒服 https://www.mysite.com/?sortField=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&

Html中擷取url引數 實現HTML間的url

大家好:      今天遇到一個問題,頁面全是html,url傳值,竟然獲取不到引數值: A.html //登入按鈕 jQuery(function($) { $("#login").click(function() { $

Android實現activity之間的方法總結

今天寫這篇文章主要是因為自己這段時間在學習安卓的時候實現不同activity之間傳值問題進行一個小小的總結。 【問題】 舉個簡單例子,比如我要在做一個小專案要獲取使用者的個人資訊,在登入的時候我們需要儲存使用者的資訊,或者我們需要檢視個人的資訊,那實現這個小功能怎麼辦呢。我想你們肯恩會跟

html頁面跳轉方法

本方法比較原始,不喜勿噴 //源頁面 Window.location.href="record.html?recId="+recId; 目標頁面 function getUrlParam (name) { var reg = new RegExp("(^|&)" +

GridViewControl頁面間三種方法

GridViewControl 單選框選中行頁面之間傳值 1. 第一種用構造方法傳值 FormGetDuty frm = new FormGetDuty (strdebugPeople, strCRAFTPLANID, "質檢推送按鈕"); f

小程式url

https://www.jianshu.com/p/0135769db89c 注 : 如果轉化的字串中 有"?","&"或"="等這樣的符號,則只會傳遞符號以前的字串,符號後面資料會被丟失,這個問題我猜想可能是小程式內部的路由處理 對這些符號敏感吧。所以有時候這裡可以先用 encodeU

Unity3D中 滑塊、下拉選框、單選框的方法

我們在遊戲的設定介面經常會新增一些控制遊戲內容的按鈕 以三類按鈕和設定為例:滑塊、下拉選框、單選框 分別實現遊戲中的聲音大小調節、遊戲難度選擇、是否全屏選擇,大概介面如下 沒有什麼素材,簡單傳神一下- 。- (靈魂畫師) 這些按鈕都是可以通過NGUI來直接使用的,主要說一下

JAVASCRIPT實現的WEB頁面跳轉以及頁面間方法

除了form表單提交之外的方法 1.跳轉到新頁面,並且是在新視窗中開啟時: function gogogo() { //do someghing here... window.open("target.html"); } window是一個ja

vue的元件之間方法

父元件 <template> <div> 這是父元件 <children v-bind:parentToChild="toChild" v-on:showChildMsg="formChild"></children> <

thinkPHP a標籤URL方式

   <volist name="msg" id="msg">     <tr>       <td  class="dindh" height="140">       <p><a href="{:U('Terrace

WebGL關於網頁端與U3D互動的方法

本帖最後由 sconi 於 2017-2-16 09:47 編輯 因工作需要,所以對WEBGL進行了研究,期間遇到了挺多坑。所以針對我所遇到的坑,來做個總結。 這是我第一次釋出教程類文章,所以如果有遺漏或沒說清楚的地方,請留言告訴我。我也是剛剛研究,所以我無法講清楚其中原理,所以只能寫一些解決的方法