Передача jinja в динамический HTML с использованием Javascript - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть сайт, встроенный в колбу.Одна страница отображает динамический список студентов из базы данных.Этот динамический список построен на основе JavaScript и представлен в виде таблицы.Я хочу быть в состоянии щелкнуть имя этого студента и сделать флягу, захватив маршрут.Чтобы сделать это, я думаю, что самый простой способ - использовать url_for () в качестве значения href.То есть что-то вроде этого

<a href="{{url_for('studentSelected', studentObj=studentObj)}}">Student Name</a>

Мой динамический HTML написан таким образом

            html += "<tr>"+
                "<td class='align-middle'><input type='checkbox' class='form-check' style='width:50px;height:50px;'></td>"+
                "<td class='align-middle'>"+jinja+"<img src="+path+" onError='StudentImageError("+i+")' id='studentimage"+i+"' height='100'></a></td>"+
                "<td class='align-middle'>"+item.FirstName +" "+item.LastName+"</td>"+
                "<td class='align-middle'></td>"+
                "<td class='align-middle'>0</td>" +
                "<td class='align-middle'>0</td>"+
                "</tr>"

переменная jinja

            var jinja = "<a href=\"{{url_for(\'studentSelected\')}}\">"

python app.routeэто следующий

@app.route('/studentSelected', methods=['GET','POST'])
def studentSelected():

Это не работает.Ошибка:

jinja2.exceptions.TemplateSyntaxError jinja2.exceptions.TemplateSyntaxError: неожиданный символ '\' в 5033

, выделяющий этот код

var jinja = "<a href=\"{{url_for(\'studentSelected\')}}\">"

Я предполагаю, что этотерпит неудачу в скобках.Как правильно отформатировать это так, чтобы это правильно отображалось?Кроме того, как передать объект в мой app.route?

Редактировать: следующий фрагмент из javascript создает строку, которую я хочу, с именем url.Я вставляю URL в мою динамическую строку HTML.

            var direct = "/student/"+studentID
            var urlfor = "\{\{url_for('"+direct+"')\}\}"
            var url = "<a href='"+urlfor+"'>"

            html += "<tr>"+
                "<td class='align-middle'><input type='checkbox' class='form-check' style='width:50px;height:50px;'></td>"+
                "<td class='align-middle'>"+url+"<img src="+path+" onError='StudentImageError("+i+")' id='studentimage"+i+"' height='100'></a></td>"+
                "<td class='align-middle'>"+item.FirstName +" "+item.LastName+"</td>"+
                "<td class='align-middle'></td>"+
                "<td class='align-middle'>0</td>" +
                "<td class='align-middle'>0</td>"+
                "</tr>"

Проблема в том, что при наведении мыши на эту ссылку все ссылки неверны.Там написано «% 7B% 7Burl_for (» и все. Это должно быть / student / $ studentIDValue $, где $ studentIDValue - это значение, которое я хочу передать app.route ()

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