在3个模板中通过Jinja2传递变量

时间:2018-09-28 08:20:44

标签: jinja2

我有这个问题:

我有3个模板:

  • Search_user

  • Show_user

  • Edit_user

选择search_user,使用post方法获取名称值,然后在db中搜索数据,将数据保存在名为user的数组中,然后将该数组传递给Show_user模板。

在Show_user模板中,我用{{ user[0] }}, {{ user[1] }}...{{ user[7] }}显示数据,在此数据下,我有一个按钮将我带到Edit_user模板。

但是在Edit_user模板中,我不知道如何传递先前的数据,也不知道如何使用post方法或任何其他方法导出数据。

到处走走可能是<input type="text" name="surname" value="user[0]" required>,但我不想在Show_user模板中显示文本框。

1 个答案:

答案 0 :(得分:0)

除了某种用户标识符(数字或用户名)外,您无需传递任何数据即可在需要时从数据库取回用户。

可以通过多种方式完成

  • 将其添加到表单操作(/user/edit/<user-id>)中的端点URL中
  • 或使用您的Web框架会话存储用户标识符
  • 或将标识符作为隐藏表单字段(type=hidden)添加到模板中
  • ...

无论如何,您只需要获取一条信息(从URL端点,会话,表单数据...),使用它从数据库中获取用户,然后将用户传递给编辑模板。

如果您使用的是Web框架,请阅读文档,这是一个简单的用例,我们很可能会对其进行详细记录。

如果您需要更多详细信息,请共享一些代码片段。