我开始使用 Jinja Templating 和 Python 来开发 Web 应用程序。使用 Jinja,我可以将对象从我的 Python 代码发送到我的 index.html,但是是否可以从我的 index.html 接收对象到我的 Python 代码?例如,来回传递一个列表。如果是这样,你有什么例子吗?
谢谢你!
我开始使用 Jinja Templating 和 Python 来开发 Web 应用程序。使用 Jinja,我可以将对象从我的 Python 代码发送到我的 index.html,但是是否可以从我的 index.html 接收对象到我的 Python 代码?例如,来回传递一个列表。如果是这样,你有什么例子吗?
谢谢你!
为什么要这样做?您在应用程序的控制器中可以访问您在模板中实现的任何逻辑,包括您放置在模板上下文中的任何变量。
如果数据由于与用户的交互而发生了变化,那么在我看来,获取数据的最佳方法是设置一个表单并使用普通的 POST 方法发送请求和所需的数据,正确编码和转义,回到你的程序。通过这种方式,您可以免受 XSS 问题以及其他不便的影响。我永远不会在模板中进行任何处理,只会使用任何本地逻辑来修改演示文稿本身。
编辑考虑到您的情况,我建议如下:
如果您不想要缓存键值对的中间步骤,您可能希望在 GET URL 中对整个列表进行编码,并且对整个列表进行清理和验证的步骤应该像在键上一样简单名单。这两种方法都避免了数据库的往返,保护您免受恶意使用,并尊重数据、表示和逻辑的分离。
只是一个想法..您是否尝试过在处理模板后访问传递给 jinja 的 dict 中的变量?