将参数传递给jinja中的python函数

时间:2017-03-26 15:23:50

标签: javascript python flask jinja2

我有这个小问题:

我无法想象如何在onclick函数的jinja范围内为python函数提供参数。 在这里更好地解释一个例子。

Python代码(demineur.onclick函数需要x和y值,但我不能在渲染中给它们一个关键参数)

#! /usr/bin/python
# -*- coding:utf-8 -*-
from flask import Flask,render_template,url_for
app = Flask(__name__)
import demineur
@app.route('/')
def keyIt():
   return render_template('demineur.html',cc=demineur.onclick(x,y)) #i know i cant do that but that what i want to do in reality so i let like that
if __name__ == '__main__':
   app.run(debug=True)

我想如何给出python函数的x和y参数(有i和j的) HTML

   window.onload=function(){
    tab=document.createElement("table")
    for (i=0;i<20;i++){
        row=tab.insertRow(0)
        for (j=0;j<20;j++){
            cell=row.insertCell(0)
            cell.id=i+j
            cell.setAttribute("onclick","{{cc("+i+","+j+")}}")
        }
    }
    grille=document.getElementById("grille")
    if (!grille.hasChildNodes()) {
        grille.appendChild(tab);
    };

所以要将它们传递给python函数我不能直接用x和y参数声明函数,因为jinja没有这个集成,我不想打扰路由,因为有简单的x和y coordonate和我不需要花哨的东西。 希望你能帮忙。

1 个答案:

答案 0 :(得分:0)

您需要在请求中传递x,y个参数。

如果GET请求,您可以使用

访问它们
    x = request.args.get("x")

如果POST请求使用

    x = = request.form.get("x")

有关详细信息,请参阅flask.Request documentation