我完全按照docs.plone.org上托管的Diazo快速入门指南中的步骤进行操作(当我在2015年4月撰写本文时,docs.diazo.org已过时),并且在尝试执行最终命令。此错误使我无法继续操作,并且未指明它来自何处。

我收到的确切错误是:

File "eggs/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/util.py", line 55, in fix_call
val = callable(*args, **kw)
TypeError: make_staticdir() got an unexpected keyword argument 'document_root'


有谁知道我可以解决这个问题以便继续开发Plone主题?

最佳答案

事实证明,此错误是由proxy.ini文件中的错误引起的,由于该错误在webobentrypoints库中引发了抑制的错误。若要更正此问题,请更改proxy.ini的名为“ app:static”的第三部分,以使用“ path”而不是不正确的“ document_root”,以使其现在包含以下内容:

[app:static]
use = egg:webobentrypoints#staticdir
path = %(here)s/theme


但是,一旦解决了该问题,您仍将需要解决另一个问题:快速入门指南尝试代理的页面已更改,因此它将重定向您的浏览器而不显示您的主题。我很幸运地将proxy.ini的最后部分切换到了现在位于plone.org上的同一文档的最新版本:

[app:content]
use = egg:webobentrypoints#proxy
address = http://docs.plone.org/external/diazo/docs/index.html
suppress_http_headers = accept-encoding connection


为了正确地对该网站进行主题设置,您现在必须进一步修改rules.xml文件,以呈现类“ .content-column”而不是“ .content”。它应该看起来像:

<rules
    xmlns="http://namespaces.plone.org/diazo"
    xmlns:css="http://namespaces.plone.org/diazo/css"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <theme href="theme/theme.html" />

    <drop css:content="#indices-and-tables" />
    <replace css:theme-children="#content" css:content-children=".content-column" />
</rules>


希望这可以解决您的问题。

注意:我已经提交了这些更改以包含在Diazo文档中,但是,尤其是考虑到在寻求帮助时可以轻松找到文档的多少版本,因此在中心位置记录此可能的错误似乎是明智的选择。

关于python - 通过代理运行Diazo的“TypeError:make_staticdir()得到了意外的关键字参数'document_root'”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29859235/

10-11 03:19