Можно ли вызвать функцию python с параметром из шаблона?[Джанго] - PullRequest
0 голосов
/ 01 апреля 2019

Я где-то читал, что невозможно вызвать функцию python в вашем шаблоне, используя django, потому что django является односторонним, и это может вызвать проблемы с безопасностью.В настоящее время я пытаюсь использовать ajax / jquery для вызова функции python в моем views.py во время события onclick.

1 Ответ

0 голосов
/ 01 апреля 2019

Может быть, вы пытаетесь указать полный URL-адрес для маршрута mymethod вашего веб-сервера в рамках вашего ajax вызова ? Кроме того, попробуйте вернуть фиктивный ответ 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.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...