Jinja2 в javascript

156
06 февраля 2018, 10:34

Доброго врменени суток. Стоит задача сделать вход в личный кабинет. Использую фреймворк Flask, серверный язык - python, шаблоны jinja2.

По нажатию на изображение, отправляется post запрос на сервер из файла js, далее срабатывает функция на python. В этой функции происходит перенаправление на страницу личного кабиинета и передаеются данные пользователя - в формате JSON (дикт с тремя ключами). Эти данные можно вывести в html файле, но они не доступны в файле js. Как это можно исправить? Заранее благодарю.

base.html - базовый шаблон, от которого наследуются все html страницы приложения

<form name="form_in">
   <input type="text"  placeholder="Логин" id="log" name="login"/>
   <input type="password"  placeholder="Пароль" id="pass" name="password"/>
</form>
<img src="{{url_for('static', filename='icons/send.svg')}}" id="send"/>
{% block js_func %}
   <script type="text/javascript" src="{{url_for('static', filename='js/common.js')}}" ></script>
{% endblock %}

private.html - личный кабинет

{% extends "base.html" %}
{% block js_func %}
    {{ super() }}
    <script type="text/javascript" src="{{url_for('static', filename='js/private.js')}}" ></script>
{% endblock %}

common.js

 document.getElementById('send').onclick = function (){
        var form = document.querySelector('sidebar.in form');
        form.method = 'post';
        form.action = '/personal_account';
        form.submit();
    }

private.js - не работает

function test_func(data) {
    console.log(data);
}
test_func({{ data|safe }});

функции на python

def get_user_data(login):
    # ........................
    # запрос и обработка данных ....
    # ...........
    # выводимые данные 
    data = {'firstname': first_name,
            'values': consumed_electricity,
            'days_number': len(consumed_electricity)}
    return data

@app.route('/personal_account', methods=['POST'])
def welcome():
    login = request.form['login']
    password = request.form['password']
    if not validate_user(login, password): # функция для валидации пользователя, отдает булево значение
        abort(403)
    data = get_user_data(login)
    return render_template('private.html', data=data)
READ ALSO
создать из массива массив javascript

создать из массива массив javascript

у меня get приходят данные; каждая данная data[i] выглядит вот так, а как получить например отдельно 30 или 28, то есть данные в данных после запятой?

124
CURL делает 2 запроса

CURL делает 2 запроса

Суть проблемы, через curl отправляю 1 запрос, а на стороне скрипта который принимает запрос, 2 запроса, те

226
Не получается создать куки PHP

Не получается создать куки PHP

Я пытаюсь создать куки , они не создаютсявот код PHP:

176
Выборка значений из mySQL

Выборка значений из mySQL

Есть запрос на php к mySQL:

257