【问题标题】:How to pass value of javascript to Mako template如何将 javascript 的值传递给 Mako 模板
【发布时间】:2025-12-14 14:05:01
【问题描述】:

我正计划用 python 和 mako 编程服务器的cherrypy。 现在我有一个问题,因为我知道将 Mako 模板的值传递给 Javascript

<script type="text/javascript"> 
var contapara=${input_nparams}; 
</script>

反之亦然?反之亦然 Mako

谢谢

编辑:

因为我有一个 Mako (kwargs) 变量,其中包含发送的所有表单的数据。 用户输入一个词,即“clave”并存储在 Javascript 中。 在此之后,我传入 Mako 以搜索变量(kwargs)。 调用函数的 MAko。 存在后,我用 textarea(新表单)打开一个窗口,我必须写入数据。 在用户更改数据并发送表单之后。

【问题讨论】:

  • 这是什么意思?您希望如何处理 Mako 模板中的 Javascript 值?
  • 对不起,我无法理解您要做什么。一些代码可能会有所帮助。
  • 可以反过来申请 Mako
  • 从 javascript 传递给 mako 很困难,因为当 javascript 可以执行时,mako 就完成了。您可能只是想通过下一个请求将您的值从 javascript 发送到服务器。这通常可以通过表单(通过 JS 左右填充隐藏字段)、加载新页面(将 url 中的值作为 get)或通过 ajax 来完成。
  • jajajaja 我在这个网站上看indico-software.org/wiki/Dev/Technical/UsingMako。你的答案是正确的 Kratenko。

标签: javascript python cherrypy mako


【解决方案1】:

创建一个包含您想要发送给 mako 的参数的视图,然后在您的 javascript 中使用 ajax。例如:

jQuery.ajax(
    {
        url       : url_of_the_mako_view,
        data      : {foo:bar,foo2:bar2},
        type      : 'POST',
        success   : function(data)
        {
            /*
             when the mako template is rendered by your view then the result will
             be passed to this function in the variable data
            */
        }
    }
)

如果您的目标更像是页面重定向,那么您可以执行以下操作:

  1. 制作一个重定向到正确位置的表单
  2. 放入隐藏字段
  3. 使用 json 字符串填充隐藏字段,该字符串表示您要传递给 mako 的参数
  4. 提交表格 然后在获取表单数据的视图中,您需要将 json 转换为字典并将其传递给 mako

【讨论】:

  • 这是一个可能的解决方案,但是当我开始我的项目时。我真的有这个带日期的变量 kwargs。但是对于您的解决方案并申请
    ?
  • @begginnerofall:我在答案中添加了表单内容
  • 我正在寻找使用您的解决方案。我必须对新服务器进行编程。
  • 亲爱的 Sheena, 您留下已编辑回复的说明已经完成。谢谢,但是现在以及如何在用户出错时更改此数据。我有变量的字典。我必须用 Mako 阅读这本字典并用 JS 打开新表单,用 Mako 加载字典上的信息并用 Mako 在 textarea 的表单上写入数据。但这一切我需要传递价值的 Js 一个不可能的 Mako。该解决方案仅适用于查询字符串。您还有其他解决方案吗?
  • @begginnerofall:对不起,我还是听不懂你在问什么。你能编辑你的问题并在那里解释吗?可以画个图什么的,能看懂就帮忙