如何将变量从href传递给烧瓶 [英] how to pass a variable from href to flask

查看:98
本文介绍了如何将变量从href传递给烧瓶的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  @ app.route('/ ques /< string:idd>' ,方法= ['GET','POST'])
defs(idd):
print idd

Javascript代码:

  var counts = {{test | tojson}}; 
var text =;
var texts =;
for(i = 1; i texts = counts [i-1];
document.write(< a href = \{{url_for('ques',idd = texts)}} \>+ counts [i] +< / a>< ; / BR>< / BR>中);



$ b $ p $如何将idd传递给python函数?

解决方案

Jinja在服务器上呈现 ,因此您无法将其与javascript进行混搭。试试这样:

  var counts = {{test | tojson}},
//在HTML文件之前到达浏览器这一行将是:
// baseURL =/ ques / REPLACE
aseURL ={{url_for('ques',idd ='REPLACE')}}; (i = 1; i var url = baseURL.replace('REPLACE',counts [i-1])$ ​​b
$ b ;
document.write(< a href = \+ url +\>+
counts [i] +< / a>< / br>< ; / BR>中);
}

否则,您需要直接在Javascript中构建URL。



更好的方法是使用请求参数:

  @ app.route('/ ques /')
def ques():
#url是:/ ques /?idd = ABC
idd = request.args .get('idd',default ='',type = str)
print idd

Javascript:

  var counts = {{test | tojson}},
aseURL ={{url_for('ques')}}; (i = 1; i var url = baseURL +'?idd ='+ counts [i-1];

;
document.write(< a href = \+ url +\>+
counts [i] +< / a>< / br>< ; / BR>中);
}


this is my flask python code:

@app.route('/ques/<string:idd>',methods=['GET', 'POST'])
def ques(idd):
    print idd

Javascript code:

var counts = {{ test|tojson }};
var text = "";
var texts= "";
for (i = 1; i < counts.length; i=i+2){
    texts=counts[i-1];
    document.write("<a href=\"{{url_for('ques',idd=texts)}}\">"+counts[i]+"</a></br></br>");
}

how to pass idd to python function?

解决方案

Jinja gets rendered on the server so you can't mix and match it with javascript. Try something like this:

var counts = {{ test|tojson }},
    // before the HTML file gets to the browser this line will be:
    // baseURL = "/ques/REPLACE"
    baseURL = "{{ url_for('ques', idd='REPLACE') }}";

for (i = 1; i < counts.length; i = i+2) {
    var url = baseURL.replace('REPLACE', counts[i-1]);
    document.write("<a href=\"" + url + "\">" + 
                   counts[i] + "</a></br></br>");
}

Otherwise you'll need to build the URL directly in Javascript.

A better way of doing it would be to use request arguments:

@app.route('/ques/')
def ques():
    # url is: /ques/?idd=ABC
    idd = request.args.get('idd', default='', type=str)
    print idd

Javascript:

var counts = {{ test|tojson }},
    baseURL = "{{ url_for('ques') }}";

for (i = 1; i < counts.length; i = i+2) {
    var url = baseURL + '?idd=' + counts[i-1];
    document.write("<a href=\"" + url + "\">" + 
                   counts[i] + "</a></br></br>");
}

这篇关于如何将变量从href传递给烧瓶的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆