代码生成以促进zope[2]应用程序开发。

dm.zope.generate的Python项目详细描述


这个包包含代码生成器,以促进zope的开发[2] 应用。

模块

构造函数

此模块包含用于生成add form和 为基于OFS.PropertyManager.PropertyManager的类添加操作。 生成的函数通常用作^{tt2}中的构造函数$ 在产品初始化期间调用。子包test包含 示例(也用于测试此产品)。

_properties属性和相关的默认值 用于生成添加表单。

该模块努力避免编码问题。它的功能 最多需要处理3种编码:用于代码的编码, 用于非Unicode属性和Unicode属性的编码。 浏览器只能处理每页的单个编码。因此, 模块必须使用单一编码,所有其他编码必须 被映射。模块使用utf-8作为此统一编码。 对于代码中的字符串,模块没有什么特殊之处。页面模板 将以其标准方式将其转换为Unicode。使用Unicode字符串, 如果这没有给出预期的结果。基于Unicode的属性 未经更改传递给模板。str基于属性 使用明确指定的字符集映射到Unicode, 在当前获取上下文中查找 management_page_charset并返回到ZPublisher.default_encoding。 form操作将这些属性的值转换回str 使用相同的字符集。

添加表单工厂

此工厂为 OFS.PropertyManager.PropertyManager子类。 它有以下参数。

namedefaultdescription
class_the class to generate the form for
action^{tt11}$classnamethe forms action
descriptionclass_^{tt12}$the documentation shown in the form
charsetsee above
templatepackage providedthe template to generate the form

它在 生成函数参数,然后使用 关键字参数charsetmeta_typedescriptionactionpropertiesclass_。调用应该返回html 形式表示。包提供的模板工作良好 以及由添加操作工厂创建的添加操作。

当您计划自定义模板时,请查看 在包提供的模板和源中的docstring 因为这一页并没有描述所有的细节。

由于缺陷/弱点,Zope的物业管理 页仅正确处理Unicode属性 当它可以使用utf-8字符集时。 因此,强烈建议一致使用utf-8。 否则,有可能使用函数设置属性值 以后无法可靠地编辑此模块的。 此外,请注意,Zope的物业管理 utf-8字符集(愚蠢地)为UTF-8(注意大写)。 因此,在指定 您的management_page_charset的utf-8字符集。

添加操作工厂

此工厂为 OFS.PropertyManager.PropertyManager子类。 生成的操作创建此类的实例,设置其属性, 将其添加为其第一个参数的内容对象(假定为 一个OFS.ObjectManager.ObjectManager)和可选的调用 一个钩子。然后,它要么返回创建的实例,要么重定向 到它的管理界面。

工厂有参数class_和可选的hook

生成的操作具有参数id和 可选的propsrequest

props指定属性值 对于创建的实例。如果未指定并且通过了request, 它默认为REQUEST.form。如果指定,则必须是映射。 如果属性值映射缺少某些属性的值,则 保留其默认值;未定义属性的值是静默的 忽略。

历史记录

1.1
python3/zope4兼容性
1.0
对于Zope2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:字符串。RTL设备语言用标志“+”格式化,数字后加符号   java GAE作为桌面应用程序(Swing)的服务提供商   java将InputStream转换为FileInputStream不适用于Apache POI   java外部Voronoi库“网格”:什么是草图和处理?   重载重写的泛型方法java   java显示组织上设置的错误。springframework。验证。jsp中的错误对象   java一些Spring模型属性没有显示在我的JSP中   java无法编译Guava 23的SimpleTimeLimiter示例   java如何更改JTree中的“根”目录名?   java如何在安卓中对相对布局产生连锁反应?   java错误:org。冬眠例外SQLGrammarException:无法提取结果集,dateAccessed是未知列   如何使用java监听JSON文件更新   由抽象封闭类创建的匿名内部类能否通过反射确定实现类?