在jinja2和js之间共享设计数据

时间:2019-05-03 14:44:19

标签: flask

我正在用Flask开发一个应用程序。我必须创建表,一个在服务器端使用jinja2进行渲染,另一个是使用socketio动态渲染的实时表。它们的路线不同,但表的设计相同。

我的问题取决于渲染,在两种情况下我都通过相同的数据库进行迭代,但是在动态部分中,我获取json并使用胡须和静态表进行渲染,但使用jinja2进行相同操作。我需要存储与从数据库中获取的每一行的状态和类别相关的数据,并将其用于两条路径中的渲染。

基本上我想知道在哪里存储这种关系:

{category_id:{icon:x, color:y, name:z}}

我几乎可以确定,无论我得到什么解决方案,最终都将其作为jquery对象(我当前的解决方案,但是该数据的一次更改意味着更改了不同模板上的多个位置),因此我可以访问渲染以获取动态数据,但是...这并不意味着我现在如何到达那里,也不意味着如何在flask jinja和js之间共享相同的数据结构。预先感谢。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则可以使用Flask会话在视图之间存储数据。

from flask import session

然后您可以设置它:

session['config'] = {category_id:{icon:x, color:y, name:z}}

并获取它,并将其传递给您的视图:

 default_config = {category_id:{icon:x, color:y, name:z}}
 config = session.get('config', default_config)