Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在ZPT宏中提取i18n的属性?_Python_Internationalization_Pyramid_Chameleon_Template Tal - Fatal编程技术网

Python 如何在ZPT宏中提取i18n的属性?

Python 如何在ZPT宏中提取i18n的属性?,python,internationalization,pyramid,chameleon,template-tal,Python,Internationalization,Pyramid,Chameleon,Template Tal,我正在使用Pyramid和ZPT模板制作一个web应用程序。我正在尝试制作一个表单模板宏库,以使设置表单字段的当前值等工作更容易。我还使用lingua消息提取器自动提取字符串进行本地化。不过,我不知道如何让提取器与宏标记上的属性一起工作。例如,假设我有一个如下所示的宏: <tal:block metal:define-macro="text"> <input type="text" name="${field}" value="${request.params.get(

我正在使用Pyramid和ZPT模板制作一个web应用程序。我正在尝试制作一个表单模板宏库,以使设置表单字段的当前值等工作更容易。我还使用lingua消息提取器自动提取字符串进行本地化。不过,我不知道如何让提取器与宏标记上的属性一起工作。例如,假设我有一个如下所示的宏:

<tal:block metal:define-macro="text">
    <input type="text" name="${field}" value="${request.params.get(field) or default_value}"/>
</tal:block>
<tal:block tal:define="field 'fred'; default_value _('initial value')" metal:use-macro="form.macros['text']"/>

我在页面模板中使用它,如下所示:

<tal:block metal:define-macro="text">
    <input type="text" name="${field}" value="${request.params.get(field) or default_value}"/>
</tal:block>
<tal:block tal:define="field 'fred'; default_value _('initial value')" metal:use-macro="form.macros['text']"/>


消息提取器不会提取文本“初始值”。有没有办法做到这一点?如果可能的话,我希望将字符串保留在模板中,我知道我可以通过调用视图中生成的默认值的所有字符串来解决这个问题。也许有更好的方法将值传递给宏以在属性中使用?

您需要使用[lingua]到版本2(或更高版本)来从模板中提取消息,这样才能工作。

您需要使用[lingua]到版本2(或更高版本)来从模板中提取消息,这样才能工作