Mako变量未正确传递到金字塔形式

2024-04-25 06:18:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个mako表单,它包含一个变量,作为隐藏表单标记的值传入。不知何故,变量没有正确传递。这段代码以前一直在工作,但是现在生成的html不能正确地呈现值。在

Mako代码:

<b>Create model at path</b>: ${ppath}
<%def name="direct_load_model_form(method, ppath)">
${h.tags.form(method, multipart=True, method='post', hidden_fields=[('ppath', ppath)])}
<b>Node Name: </b>${h.tags.text('node_name')}<BR>
<b>Parameters: </b>${h.tags.file('params_file', size=100)}<BR>
${h.tags.submit('submit', 'Create')}
${h.tags.end_form()}
</%def>

${self.direct_load_model_form(process_route, ppath)}

hidden_fields函数来自web helpers库。在我看来,我试图使用ppath作为ppath = self.request.POST['ppath']。在

ppath变量在第一行中正确呈现,但当作为值传递给隐藏字段时则不正确。我需要改天逃走吗?在

这是呈现的html:

^{pr2}$

Tags: 代码nameform表单fieldsmodeldefhtml
1条回答
网友
1楼 · 发布于 2024-04-25 06:18:04

这里有一些您可以尝试的方法,而不是到处使用ppath,您可以将def函数中的ppath重命名为path。在

<b>Create model at path</b>: ${ppath}

<%def name="direct_load_model_form(method, path)">
   ${h.tags.form(method, multipart=True, method='post', hidden_fields=[('ppath', path)])}
   <b>Node Name: </b>${h.tags.text('node_name')}<BR>
   <b>Parameters: </b>${h.tags.file('params_file', size=100)}<BR>
   ${h.tags.submit('submit', 'Create')}
   ${h.tags.end_form()}
</%def>

${self.direct_load_model_form(process_route, ppath)}

这可能是一个问题,但由于mako创建了python代码,所以可能在某个地方,发送给函数的参数被重写了。也就是说,不清楚它将使用哪个变量,因为defs可以访问全局变量,但是在调用def的时候会重置。在

相关问题 更多 >