是否可以从模板调用带有参数的python函数? [Django]

时间:2019-04-01 16:47:15

标签: python html django django-templates

我在某处读到不可能使用django在模板中调用python函数,因为django是单向的,这会引发安全性问题。我目前一直在尝试在onclick事件期间使用ajax / jquery在views.py中调用python函数。

1 个答案:

答案 0 :(得分:0)

也许您尝试在您的ajax通话中将完整URL赋予网络服务器的mymethod路由?另外,尝试为您的JSON路由返回一个虚拟/mymethod响应,看是否有帮助?类似于:

views.py:

from flask import Flask, jsonify
app = Flask(__name__)

...

@app.route('/mymethod', methods=["GET"])
def mymethod():
    return jsonify({"Message": "/mymethod GET request", })

myfile.html:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js</script>
 <script>
    $("a").click(function(e) {
            $.getJSON('http://localhost:8000/mymethod', function(data) {
               // handle successful request
               console.log(data); // log your result to the console
            });
            return false;
    });
    </script>

我假设您正在端口8000上运行。

希望有帮助!