问题标签 [dtml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
457 浏览

python - Python:带有 form.getfirst 的 KeyError

我有一个 dtml 页面,它使用以下代码调用一个函数:

但我得到一个关键错误?陈述KeyError: "public_blast(form.getfirst('job_ID'))"。我可以在页面顶部看到 job_ID 变量。所以我知道它正在传递给 URL。

我看不出我哪里出错了?

0 投票
1 回答
181 浏览

python - Python:获取 URL

因为我不能让它工作:Python: KeyError with form.getfirst

我有一个替代选项,我在 DTML 中有一个需要获取 URL 的函数:

例如,如果 dtml 网页位于

www.blah.com/foo/foo2?variable=55

如何使用 python 函数获取此页面的 URL?

该函数由以下方式调用:

“测试”的语法是 rite,Zope 文档是这样说的。

0 投票
1 回答
241 浏览

zope - Zope/Plone If 语句评估

我的页面有两个非常不同的区域,我想根据 dtml-var 的设置在它们之间进行交换。

该变量在页面构建时加载,称为 GENDER_DESC。我可以用 显示内容<dtml-var GENDER_DESC>,GENDER_DESC 对象将是 null、Female 或 Male。

我想做的是有一个 dtml-if 语句,它根据该 GENDER_DESC 变量的状态切换内容。

我尝试过这样的事情:

以及该概念的其他一些变体,但我无法使语法正确。

我该怎么做呢?

0 投票
1 回答
97 浏览

python - 如何从 REPL 渲染 Zope DTML

你如何从 REPL 渲染一个 Zope DTML 说没有文件夹对象或任何类似的测试用例?

我有一个名为 /tmp/tmp.dtml 的文件,其内容如下:

我可以做到这一点:

如何将正确的命名空间注入 DTMLFile 对象或在调用期间?

0 投票
1 回答
191 浏览

python - Zope中的Python脚本在外部方法中找不到函数名

我在 Plone 中获取 Python 脚本以查找外部方法时遇到问题。给定三个不同的对象:

  1. CloneList一个名为(Id 和 Function Name)的外部方法
  2. 使用此成功引用它的 DTML 文档

    /li>
  3. 通过此引用外部方法的 Python 脚本...

    /li>

DTML 文档工作正常,但 Python 脚本由于某种原因抛出:

为什么 DTML 模板可以看到 CloneList 很好,而 Python 脚本却不能?

0 投票
2 回答
152 浏览

python - Validating reCaptcha2 with Zope2

Using Zope 2.13.29 and Python 2.7.15, I am trying to validate Google's reCaptcha2 using a Python script being called from a DTML document. The DTML document contains the form, and the same DTML document uses a dtml-if statement to determines whether to process the form once a user has clicked submit. Within that dtml-if statement is a dtml-in that calls to the python script in order to validate the reCaptcha and return the value of success (True or False). The issue is that I cannot seem to obtain the value of success.

While I know some of you may be inclined to talk about RestrictedPython and how I won't be able to import the python modules for use by Zope, that portion has already been taken care of. It all works, it just doesn't do what I need it to do.

This is the dtml-doc that shows the contact form, as well as determines whether submit has been clicked, which in turns calls to the python script to finally determine the returned value of the Google success variable from reCaptcha.


This is the python script (named recaptcha-validate):

When the script is run from the ZMI via the test tab, where I expect the result to be false, I get back

{'success': False}

However, I cannot seem to call on the success variable from the DTML-doc.

The form should be submitted, the python script should be run and validate the recaptcha, return the value of success (True/False) and then the dtml-if should decide how to proceed with processing the form.

0 投票
1 回答
133 浏览

python - Zope PostgreSQL 变量与 HTML 和 DTML

我有一个名为 blog_post 的 postgresql 数据库表,在该表中有一个名为 post_main 的列。该列存储整个博客文章,包括各种 HTML 和 DTML 标签。

作为参考(是的,我知道它很旧),这是带有 PostgreSQL 8.1.19 的 Zope 2.13

例如:

dtml-var 标签告诉 Zope 在两个段落之间插入 dtml-document postimg1 的内容。

好的,没问题。我将这些数据毫无问题地存储在 postgres db 表中,与输入的完全相同,并且我正在通过<dtml-in zsqlmethod>围绕整个 dtml 文档的标签运行 ZSQL 方法,以便能够调用我需要的变量这页纸。

通常,在没有 HTML 代码或特别是没有 DTML 标签的情况下,将数据插入网页是没有问题的。&dtml-varname;如果您没有 html 标记并且只想要纯文本输出,或者<dtml-var varname>您希望将数据呈现并显示为正确的 html ,您可以这样做。

这就是问题所在

Zope 只是将该<dtml-var "blog.sitefiles.post.postimg1(_.None, _)">行发布到 html 页面,而不是像我直接将其键入 dtml-doc 时那样处理它。

我需要的:

我需要处理存储在 post_main 列(上面引用为 varname)中的代码,就好像我直接将它输入到 dtml 文档中一样,以便<dtml-var>标签按照它们应该工作的方式工作。