У меня есть приложение Flask, которое использует jExcel .Моя цель - динамически добавлять данные в формате json в таблицу.Я не уверен, как мне отформатировать мой словарь, который передается как объект json в JExcel.
У меня есть страница index.html
, которая отображает таблицу JExcel.Я передаю три аргумента index.html
:
spreadsheet_id
: идентификатор для Jexcel div column
: определения заголовков столбцов url
: URL-адрес, указывающий на содержимое таблицы (в формате json)
В настоящее время таблица содержит только один столбец, и я хотел бы пропустить одну запись через точку входа get_data
.
PS: Я обнаружил, что мне нужно вставить сценарии в начале тела.В противном случае таблица не будет обработана.
app.py
from flask import Flask, render_template, jsonify
from flask_bootstrap import Bootstrap
app = Flask(__name__)
bootstrap = Bootstrap(app)
@app.route('/')
def index():
struct = '''[{type: 'text', title: 'car', width: 120}]'''
return render_template('index.html', struct=struct, url='/get_data')
@app.route('/get_data', methods=['GET', 'POST'])
def get_data():
data = [{'text': 'Jazz'}, {'text': 'test'}]
return jsonify(data)
if __name__ == '__main__':
app.debug=True
app.run()
Index.html
{% extends "bootstrap/base.html" %}
{% block title %}JExcel{% endblock %}
<div class="container">
<!-- jQuery -->
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- jQuery -->
<!-- JExcel -->
<script src="https://bossanova.uk/jexcel/v3/jexcel.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jexcel/v3/jexcel.css" type="text/css" />
<script src="https://bossanova.uk/jsuites/v2/jsuites.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jsuites/v2/jsuites.css" type="text/css" />
<!-- JExcel -->
<div id={{ spreadsheet_id }}></div>
<script>
var url = "{{ url }}"
var columns = {{columns }};
var spreadsheet_id = {{ ("#" ~ spreadsheet_id)|tojson }}
$(spreadsheet_id).jexcel({ url:url, columns: columns });
</script>
{% endblock %}