一个简单的web框架,具有构建web应用程序的基本功能。

ringo的Python项目详细描述


林戈 [谚] < BR>
图片::https://travis-ci.org/ringo-framework/ringo.svg?分支=主
:目标:https://travis-ci.org/ringo-framework/ringo < BR>
ringo是一个基于python的小型高级web应用程序框架,它使用
金字塔。Ringo试图使构建基于表单的Web应用程序变得非常容易
管理您的数据。因为Ringo提供了许多基本特性
它通常用于现代web应用程序,大大加快了开发速度。但它
也很灵活,提供了许多配置布局、行为和
应用程序的工作流。有关详细信息,请参见:ref:`features`列表
详细信息。 < BR>
ringo附带了一个应用程序支架,可以用作
您的应用程序开发。参见文档中的开发部分
了解有关如何构建基于ringo的应用程序的更多详细信息。 < BR> 许可证 [谚]
Ringo是免费软件。它是根据版本2中的GPL许可证授权的,或者 稍后。有关许可证的详细信息,请参见`<;http://www.gnu.org/licenses/gpl-2.0>;`。 < BR>
功能
========
ringo提供了一些基本功能,如果您构建
基于ringo的web应用程序: < BR>
*易于扩展和配置的模块化架构,
*每个模块的基本操作包括:
-搜索和可排序列表(可存储和可配置)
-基本CRUD操作
-csv,json导入和导出
*基于角色的授权。
*通过电子邮件注册和密码提醒进行身份验证
*powerfull statemachine在模块中为工作流建模。
*使用"formbar<;https://pypi.python.org/pypi/formbar>;"库对表单进行布局和验证
*表单的版本控制(请参阅更改为最新版本的内容)
*可从Web用户界面广泛配置。
*非常适合各种管理任务的控制台客户端。 *… < BR>< BR>试验 [谚]
要启动测试套件,请调用以下命令: < BR>
py.test—应用程序配置test.ini < BR>
或显示测试覆盖范围: < BR>
py.test--cov=ringo--app config test.in中 < BR>< BR>
文档
=============
文档的来源是ringo的来源,可以在
"文档"文件夹。若要生成文档的HTML版本,请调用
以下命令: < BR>
调用文档 < BR>
您需要安装sphinx包才能生成文档。
文档的生成版本可在
`<;http://ringo.readthedocs.org/>;。`_ < BR>< BR>
开始
------
了解Ringo核心功能的最快方法是
按以下步骤启动Ringo的独立应用程序: < BR>
-$git克隆https://github.com/ringo-framework/ringo < BR>
-$python setup.py开发 < BR>
-$ringo管理数据库初始化 < BR>
-$调用文档 < BR>
-$pserve development.ini



1.14.0
==
-重写文档。
-修复问题21(https://github.com/ringo framework/ringo/issues/21)。在listingfieldrenderer中启用了
排序配置。
-也从复选框中展开值。
-添加了xlsx export。
-为属性引入了特殊后缀`u e_u x_u p_u a_u n_u d',该后缀可用于访问属性的扩展值,而不是调用
获取值。这是必需的,因为不可能总是调用
get_value方法。示例:getattr(obj,'foo_u e_u x_u p_a_u n_d')将返回'foo'属性的
扩展值。
-从ringo core中删除了odf转换器。它现在是
Ringo_PrintTemplate扩展的一部分,因为这是实际使用它的唯一地方。
-5在Circualr Dependent上显示信息对话框删除时出现cy错误
-11在创建和更新角色时检查名称的唯一性。
-12(修复了5)管理员用户无法再删除自己,因为处理循环依赖关系时出现
-14将模块的名称字段设置为只读。字段是内部的,不可编辑。
-19修复了删除权限(通常修复了从
nm关系中删除项的问题。)
-为statefieldfrenderer添加了"按钮"布局。
-处理"保存并继续"按钮(formbar中的新功能)。
-添加了staticlistdrenderer。可用于呈现
项的简单静态概述。
-在用户注册时,现在检查密码强度。密码必须
至少12个字符,并且需要有2个非字符。
-添加选项以定义状态的角色特定描述。
-添加选项以在用户通过
应用程序验证后配置回调。此回调可用于取消身份验证或在用户登录后
执行进一步操作。
-为数据表添加排序图标。
-


1.13.3
==
bugfix release。修复了基于
会话变量处理addrelations时出现的严重问题。此错误可能导致项目之间的错误关系。

1.13
====
-在脚手架中修复。改进默认清单并包含更多文件。使
自述文件成为一个rst文件
-内部uuid字段现在有36个字符长。uuid现在按照
rfc4122中的定义存储。请注意,现有的uuid未被转换。您可以使用"ringo admin db resetuuid"命令转换
现有的uuid。
-已修复19(https://github.com/ringo framework/ringo/issues/19)
-允许用户删除自己的帐户。您可以定义用户定义的项
的行为,方法是将"所有者"级联类变量设置为in
要配置的模型,例如将项
拥有的所有项删除到。默认情况下,如果do现在拥有任何
项,则用户只能删除其帐户。
-为表configs中的列实现了"roles"配置变量。如果
定义的列仅对具有
配置角色之一的用户可见。
-向LinkFieldRenderer添加"target"属性。


1.12
=====
-在导入时更加宽容。仅在导入包含不属于模型的字段
时登录。
-添加配置变量以定义用户注册时的默认角色和组。
-添加配置变量"layout.show_context menu"以配置上下文菜单的可见性。
-在用户注册新用户帐户后改进结果页nt.
-在用户请求passwort重置后改进结果页。


1.11.2
==
-小的性能改进。添加了启用
表单配置缓存的选项。这将防止应用程序在每个昂贵的请求上重新加载
配置。这对于
生产环境很有用,因为这里的形式不会改变。但是,在开发模式下不建议这样做。
请参阅文档以了解如何启用表单缓存。
-修复了在常规异常视图中的重新发布异常。此外,只能在测试模式下使用
此视图。
-在overviews
的表标题中呈现标题工具提示-再次通过webinterface对用户进行注册和激活。这意味着
如果启用了
注册,则新用户可以使用Web界面注册自己。
-将脚手架添加到manifest.in文件中。已丢失。
-修复了由于在不同的sqlachemy会话中新建和加载项而导致测试用例异常的错误。调用工厂的加载方法以强制所有项附加到同一会话时,使用来自
请求的当前数据库会话。
-为脚手架添加外部要求.txt文件。
-支持数据库URL环境变量。如果设置后,此变量将
用于连接到数据库。例如:postgres://@/ringo


1.11.1
==
bugfixrelease

-在全局错误视图中出现错误时重新发送原始异常(包括stacktrace),以便更好地调试错误。自上一个引入全局错误视图的版本以来,origin stackstrace被隐藏。这个
错误视图隐藏了原始回溯。

>1.11.0
==
-测试现在基于pytest。移除了基于包"behave"的测试。
ringo现在需要一个包pytest ringo,它提供了一些帮助类
,使测试更加容易。进一步的测试现在支持回滚。
-改变了在应用程序启动时注册ringo扩展的方式。如果检测到新的
添加或删除的扩展名,ringo现在只在应用程序启动时显示一个简短的警告。它不会询问用户ringo
是否应该自动注册扩展,这使得在没有活动终端(例如以wsgi启动)的服务器上启动
更加健壮。
在正常使用情况下添加或删除扩展应该由
迁移脚本添加或删除。
-添加了"ringo admin app add extension remove extension"命令以在开发过程中添加
或删除初始模块和操作项。
-改进了有关如何在应用程序中添加扩展的文档。




1.10.5如果验证失败,则返回rm。
添加此信息是因为用户报告由于
formbar/ringo默认行为而丢失数据,即在发生
错误时不保存任何内容。用户似乎希望数据的有效部分已被保存。此信息应使用户意识到,在出现错误时,


1.10.4
=
=
BugFixRelease

-仅在调试日志级别记录验证错误。
-在用户注册中修复更改的字段名。
-修复测试用例

1.10.3
===
bugfixrelease

-修复了在get params中编码值时出现的错误(1.10.2引入)。ringo
使用特殊符号将url中的值编码为
"values"键中的get param。对于包含非ascii值的值,此方法失败。

>1.10.2
==
目前未使用覆盖范围。
-已删除。hgflow。不再使用hg
-已删除。hgIgnore。不再使用hg
-删除了.tx。当前未使用transifex进行翻译。
-更改了文档和自述文件中的链接以立即引用github。
-不要记录我们正在调用get_current_请求。这是Ringo中一个长期存在的
设计缺陷,但它尚未导致任何已知的问题,而且在不久的将来也不会有明显的变化。因此,我用
"fixme"注释替换了日志记录。
-log"errors",同时只在"resolve"属性的debug
log(was error)中解析列表中的点分隔值。由于这可能是一个
错误配置的迹象,它实际上是在函数中处理的,因此我们不会记录
错误消息,而是在登录开发中给出提示。
-将CSRF令牌检查失败记录为警告。
-使用encode_values对get
params中的values attribut的值进行编码,现在返回urlencoded值。这将导致值被
双重编码。添加了decode_values helper方法,可以将
urlencoded值解码回python字典。警告:如果在应用程序中使用
值get param,则可能需要调整
代码。
-通过添加缺少的检查和更多注释,添加/改进了setstanding和changepassword中的身份验证检查
方法。
-为配置文件创建字段,而用户创建的逻辑字段不是数据模型中为红色。这可防止出现警告消息。
-将字段"retype_password"设为逻辑字段,该字段不存储在
数据模型中。这可以防止警告消息

1.10.1
=
=
bugfixrelease

-更新翻译。
-修复了在注册扩展时设置错误显示变量的错误(改为使用str repr)的错误。
-在将"s"添加到
注册模块时的模块名。扩展名
的模块名在扩展名中定义,默认情况下应采用该名称。
Ringo还尝试通过添加一个"s"来加载模块,使其与旧版本兼容。
-当Ringo注意到存在需要注册的扩展时,应用程序启动时更改了警告消息。修复了显示扩展名的错误。
-修复扩展的脚手架。处理用户取消模块自动注册的情况。
-在ringo/scripts/db.py中重构导入程序代码,使代码更好地用于其他命令。




1.10.0
==
*使用datatable js库的概览行为不能我们还将
配置为json表配置。以前只能配置
列。现在,其他方面,如筛选、排序、分页等,您还可以定义自己的自定义筛选器。


在呈现概述时,将根据json配置动态生成配置。此生成的配置将替换init.js中的静态
预定义的数据表配置。


*添加了datatable-moment.js插件,以允许基于
日期字段对数据表进行排序。

<1.9.1
===
bugfix release

-修复内部列表格式如果当前用户根本没有
权限,请重新读取并处理案例。则不会呈现任何链接。
-fix has_role method。如果当前用户不是,则处理案例。


1.9
===
-登录尝试。现在,每个成功或失败的登录都将保存在名为"用户登录"的
表中。
-在
应用程序的索引页上显示上次成功和上次失败登录的信息。此外,如果自上次成功登录后失败登录次数超过5次,则显示警告。
需要在ini文件中启用此功能。有关详细信息,请参阅文档。


1.8
===
-实现的会话计时器小部件。小部件显示了触发自动配置之前
会话中的剩余时间。
需要在.ini文件中启用小部件。有关详细信息,请参阅文档。
-现在需要显式启用SQL的dogpile缓存。
-增强的breadcrum功能。允许定义应在默认操作旁边的面包屑中显示的附加操作。
-已更改的邮件程序。邮件的主题不再包含
应用程序的前置名称。


1.7
===
-ringo不再在服务器
启动时进行自动扩展注册。注册新的扩展名通常会将更改写入
数据库。这很危险,因为这可能会导致以后的迁移失败。因此,ringo现在将询问用户在
服务器启动时要做什么。默认情况是中止注册。
-添加了jquery ui库。这个库目前没有被ringo本身使用,但它为其他应用程序提供了基本功能。
-向ringo添加了breadcrumbs功能。要能够使用breadcrumb,您需要定义一个sitetree(请参见lib/sitetree.py以了解更多详细信息。)ringo的默认sitetree为空,这意味着没有显示breadcrumb。
-添加了--"ringo admin db loaddata"命令的"format"标志来定义in的格式。PATFILE。现在也可以使用csv导入程序


1.6
==
-为用户添加功能,以便设置他们的待机状态。基本上这是添加
并将其他用户删除到用户的默认组中。要使用此功能,用户至少需要对要设置为
待机状态的用户进行读取访问。
-将favicon格式更改为"ico",以便与ie的版本更兼容。
改进了favicon的覆盖。favicons的代码现在放在
favicons.mako中,其他应用程序可以覆盖该代码。
修复了捆绑删除请求的处理。两件事已经改变了:
1。在实际删除回调之前调用它以允许进行某些清理。
2。将数据库操作的刷新放在方法的末尾,以避免在刷新第一个项目的会话之后,捆绑删除请求发生"关闭连接"错误。




1.5
===
-添加了新的配置变量"app.mode"以启用e以不同模式运行
应用程序。如果设置,应用程序将提供一些
视觉指示,表明应用程序处于不同的模式。
-更改了概述页的默认呈现方式。现在,Ringo不再使用带有高级搜索过滤器(如Ringo)的复杂概述,而是在默认情况下使用简化概述。可以通过设置ini文件中的全局"layout.advanced"配置变量或设置
表的json配置中的每表配置来更改行为。在简化的概述中,不管表配置中配置了什么,分页等功能当前都被禁用。这可能会在
以后的版本中发生变化。
-更改了概览表中的单击行为。现在可以单击行。随着
更改为简化的概述代码,从
概述中选择项目的方式也随之改变。链接现在已完全删除。相反,整行可以单击。


1.4
===
-由于缺少对使用
alembic的数据迁移的支持而放弃了sqlite支持。PostgreSQL是DMBS系统的新默认设置。
根据需要添加了psycopg2。实际上,sqlite支持已经中断,因为
1.2版。
-删除了初始数据的fixture。数据现在被添加到迁移
脚本中。
-为"db savadata"命令添加了新的"-format"标志,以确定
导出格式。默认值是json。

视图中的参数现在也可以获取回调列表。
handle\u回调方法能够正确处理此问题。请注意,
此机制需要开发人员在
视图函数中构建此列表。
-向用户的"创建"视图中添加其他回调参数。这允许
其他视图覆盖用户创建视图并添加自定义回调。

<1.2.1
==
-修复了在为自引用的用户和用户组添加
uid和gid字段后使用alembic迁移时的循环依赖性错误。

<1.2.0
==
除了下面列出的主要更改之外,此版本还包括许多小错误修复和代码、可用性和性能方面的改进。


新的:
-添加选项以向更新和创建视图提供外部验证器。
表单。
-如果用户离开表单而未首先保存更改的数据,则实现一个简单的警告对话框。
-添加了简单的微调器,如果页面加载时间
超过400毫秒,则会弹出该微调器。
-添加了新的"ringo admin app init"命令来初始化包含ing
初始配置文件。
-密码长度必须至少为12个字符并包括2个非字母。
-增加了对多派生应用程序加载配置的支持。添加了新的app.base配置变量。
-添加了新的helper命令以将formbar的静态文件复制到ringo中的正确位置。
-添加了命名身份验证cookie的选项。如果服务器上有多个
Ringo应用程序,则需要此选项。
-添加了一个警告对话框,显示用户是否在未保存前离开了窗体。
-对提交的值进行权限检查,以查看POST请求的关系。
不允许用户在Relati中设置项它们不具有
读取权限的on。
-记录uid和gid的更改。

更改:
-启用mako默认html转义,用于在ini
文件中全局呈现模板,显式用于表单呈现、对话框呈现和列表呈现。排除了邮件的HTML转义和管理脚本,因为
呈现的结果不适合在浏览器中显示。
-测试、安装等的单独要求。
-只有在应用程序启动时,如果
还没有formb,才复制formbar中的静态文件位于林戈的AR文件。(需要一些工作)。请参阅
"formbar_static"命令。
-修复德语翻译中的错误。
-更改了接近自动注销的警告行为。在95%的注销时间结束后,不再显示
,而是在实际注销之前显示3分钟

-角色、用户和用户组的模块现在从
"owned"mixin类继承。
-更改了新项的gid设置。确定gid的改变顺序(逆顺序)。首先尝试从
模块获取默认的gid。如果不存在,则使用用户的默认gid。设置默认的gid,将新项目的gid留空。

删除:
-删除组角色功能。此功能仅很少使用。
-app.url配置变量,用于
应用程序不在服务器根目录下托管的情况。有关如何立即设置
应用程序的详细信息,请参阅
部署文档。
-在应用程序启动时,formbar的静态文件不再复制到ringo的静态文件中。这些文件现在从formbar动态加载。
-调用命令"formbar_static"


1.1.0
=
新建:
-向linkfieldrenderer添加"openmodal"选项
-向linkfieldrenderer添加"action"选项,以便能够呈现其他
操作,然后读取和更新链接。
-在baseitem类中添加了"获取"权限类方法。可以覆盖该类以实现为该类和
实例生成acl的自定义方法。
-如果帐户已禁用,则在登录后添加信息页。
-添加--加载和保存设备的路径选项,以便能够加载其他
设备。
-实现在项目中设置点分隔值。
-实现模糊搜索。搜索现在支持"~"运算符来触发一个模糊搜索,该模糊搜索使用双元音作为主要算法
,并返回到levenshtein算法作为次要算法它的主要
失败。

已登录。
-修复了DTListRenderer,它只被很少使用,似乎在一段时间内会被破坏。修好了就可以让它重新工作了。仍有工作要做,以使其作为默认列表呈现程序(如链接的显示)。
-在确认对话框中允许自定义标题和正文。
-获取创建表单时使用表单参数。如果要使用其他窗体创建项,请使用full。
-actionitems的hide属性也会影响总览列表。
-"ringo admin modul add"命令不再生成SQL代码。相反,它将打印t的代码固定装置。
-使用app.url config
参数配置应用程序基URL。
-在上下文菜单中添加标题工具提示
-仅保存历史中的路径,而不保存完全限定的URL。



1.0.0
=
警告!此更新是Ringo的主要升级,可能会破坏您的应用程序!
它删除了应用程序中的许多核心模块!如果您使用其中一个删除的模块,这将破坏您的
应用程序。在这种情况下,请使用
0.18.0版本。


已删除以下模块:

-已删除日志模块
-已删除标记模块
-已删除打印模板模块
-已删除约会模块
-已删除注释模块
-已删除文件模块
-已删除新闻模块le
-删除了todo模块

模块将被转换为扩展。

0.16.2版的ringo支持加载扩展以增强应用程序的功能。这应该是向基于ringo的应用程序添加
可选功能的默认方式。由于移除的模块都实现了应用程序可选的一般功能,而这些功能不是基本要求,因此它们现在已从核心中移除。这减少了
代码库,使核心更快、更安全。后者是post 1.0目标的一个重要前提:更安全地准备在ringo中构建稳定的web应用程序。


new:
-向roles模块添加label字段。
-在ringo admin中添加新的"fixture"命令以加载和保存fixture。
-添加ne在ringo admin中使用"revision"db命令生成新的
(自动生成)alembic迁移脚本。
-为初始数据添加了fixture。
-在日期字段中支持德语区域设置。(需要新的formbar)
-为listfieldenderer添加show all选项以显示所有元素,而不管用户是否被允许读取该项。如果不允许用户读取
项目,则不会显示打开该项目的链接。
-创建新用户时,将自动生成新用户的用户组
。如果在创建时未设置其他组,则新用户组将被设置为新用户的默认用户组。


已更改:
-文档现在在新浏览器窗口中打开,而不是在模式弹出窗口中打开。
-无法通过单击i关闭模式对话框在后台。
-在listingfields中重新实现openmodal函数。已被
意外删除。
-更改了listingfields中onlylinked属性的行为。现在还删除了
复选框,因为如果只显示
链接的项目,则没有理由链接/取消链接项目。
改进了javascript中的用户语言检测。语言设置现在由调用rest api中的远程函数决定。
-工厂的create方法现在需要values属性!它不是
可选的,但可以为空以获取旧行为。
-显示

旧的迁移脚本现在被一个脚本所取代。此版本的alembic版本仍然
相同,以便将来的迁移脚本也可以应用于旧应用程序



0.18.0
==
-添加了在模式窗口中打开项的选项。
-在模式窗口中打开项时显示微调器。
-设置要求formbar到>;=0.9.4。
-在基本scaffold的ini文件模板中添加了"url_prefix"和"url_scheme"服务器配置。如果服务器在反向代理后面运行
,这将非常有用。
-添加了配置odfconverter启动的选项。默认情况下,
转换器未启动!这是对以前行为的改变!
-在ringo admin命令中加载数据可以选择使用
项的id而不是默认的uuid。这对在创建数据库后初始化加载
数据,以防数据库中并非所有条目都具有
uuid。
-添加对nm关系导入和导出的支持。(实验性的)。要启用此功能,只需将--include关系添加到savedata
命令即可。
-改进的翻译。添加了在不同位置对translate函数的缺失调用。
-添加了对虚线属性的exanding值的实验支持(例如
relation.value)。
-77支持alembic>;=0.7.1
这将检测数据表中丢失的外键。
重要信息:
*请更新到alembic的最新版本(当前版本ly 0.7.4)
*如果您使用的是sqlite:merge
ringo/alembic/versions/46edfd16f379_278;py迁移脚本,请将其应用到迁移脚本中。有关合并的详细信息,请参见http://alembic.readthedocs.org/en/latest/branchs.html。这将修复基本Ringo模型中的错误。
*请生成新迁移并应用它。如果您丢失了任何外来的
键,它们将立即生成。如果您使用的是sqlite,请参考
ringo/alembic/versions/46edfd16f379廑py并查看如何为
基表执行迁移。
-廑87删除alembic廑u sqlite依赖项。
由于alembic现在支持一些缺少的操作,如在
sqlite上添加和删除列,因此不再需要帮助程序库alembic廑u sqlite。
i重要提示:
*请搜索字符串"drop_column_default",并从现有迁移文件中删除此代码块和以下代码块。



>0.17.1
===
-添加transifex的配置
-修复了打开新闻项时的错误。
-使用正确的eval_url初始化表单。在初始化表单时提供url_前缀。
-在formeditor中显示有关表单定义错误的提示。
-37:进一步修复。
-86:修复了特定于扩展的视图映射。


<0.17.0
==
-改进了概述和搜索。
-添加了客户端分页功能。
-添加了添加运算符的选项(<;,<;=,=>;,>;,==,!=)进行
搜索。如果用户提供了运算符,则搜索将使用此
运算符进行搜索,而不是基于正则
表达式进行搜索。这对于按日期搜索很有用。
-改进了导出。
-添加了递归相关导出器。
-添加了ODF转换器。
-在创建新表单时插入表单定义的脚手架。
-添加了对扩展中翻译的支持。
-状态消息现在呈现在页面顶部。
-添加了设置客户的选项导航栏上方带有徽标的OM标题更容易。
-37:仅更改管理员的所有权
-48:添加对Sqlite中放置列的支持。
-50:更改概述中"单击seaerch筛选器"的行为
-64:更好地指示当前编辑模式
-67:从导入文件读取数据时没有ISE。立即显示错误对话框。
-68:由于缺少文件,安装/安装失败
-82:第一个模块的数据库迁移有时不起作用
-85:新闻不能标记为已读


0.16.3
==
-重要信息:更改dbsession的安装方式。请参阅ringo/u init_uu.py
文件如何立即设置并调整应用程序。
-添加生成SQL的命令,以限制和不受限制地访问数据库级的模块表(仅限Postgres)
-修复加载窗体和概述配置。
-将转义添加到呈现程序中

0.16.2
==
-添加函数加载ringo扩展。
-更改了登录应用程序(已删除和修改)


0.16.1
=
-允许配置页面缓存和静态内容。
-添加各种选项以增强cookie和会话安全。
-根据http://ghaandeeonit.tumblr.com/post/6569855380设置头以增强安全性5/保护金字塔-应用程序

0.16.0
=
视图.base.export。已删除视图/base.py.
*已将rest逻辑移到相应的新视图模块中。
*已将方法和代码从views.json移到新views.api和
views.response modules
*views.api:带有客户端使用的方法的模块。
*views.response:带有特殊响应对象的模块.
*视图.请求:具有各种视图的通用逻辑的方法(处理程序)模块。
*视图.帮助程序:具有帮助程序方法(getter)的模块,以便从请求中获取窗体或信息。

模型重构:
*删除基m中的请求依赖关系odel.
重构模块的设置。
*删除几个类方法,如get-action-routename和get-item
actions-into-lib.helpers等。

重构lib:
*将大lib/helpers.py拆分为lib/helpers下的各种文件。
*拆分大lib/renderer.py到lib/renderer下的各种文件中。


如何升级:

*已移动以下方法:
-get_table_config->;lib/table.py
-get_form_config->;lib/form.py
-get_action_routename->;lib/helpers.py
-get_item_list->;model/base.py
-get_item_modul->;lib/helpers.py

在所有*.py和*.mako文件中搜索这些方法并调整调用。

<0.15.2
===
*在通知邮件的主题中使用app title而不是app name作为前缀。
*在导入、导出对话框中修复url。使用get_current_route_补丁而不是
url(导致反向代理背后的ssl错误)
*修复导入。处理整数的正确空值。
*修复排序时处理空值。
*使用新的FormBar版本0.9.0。修正一些规则。

0.15.1
==
重构。清理模型,并尝试删除与请求类似的金字塔特定元素。json导出现在在
exporter(jsonresponse)


new:
*所有邮件都将在主题中包含应用程序名称。
*向dropdownrenderer添加"nolink"属性。
*添加了新的tagfieldrenderer。只显示与no
或items模块相关联的标记。

错误修复:

*下拉列表中的翻译选项。
*新闻列表中的翻译标题。
*修复了与映射相关的自动翻译。
*如果属性返回基本列表作为se,则处理case
列表呈现程序中的选定项。

更改:
*新闻中的文本现在是文本区域。

<0.15.0
==
重要提示:应用程序需要进行一些应用程序初始化工作才能与此版本保持兼容:

1。将add_route重命名为setup_modul
2。将模块设置移到"includeme"方法中。
3.使用config.include("appname")调用includeme方法。
4。已删除安装完成的回调。

-更改了在应用程序初始化时设置路由的方式。现在
遍历数据库中的所有可用模块,并为每个模块配置路由
,而不是硬编码配置,包括导入
模块等。
-添加了新的ringo管理命令。
-删除了旧的add ringo modul命令。
-在一个con之后自动注销可计算的时间。默认为1800秒。
在日志记录之前的某个时间,将出现一个警告对话框。
-删除了不推荐使用的"忽略"筛选选项。必须立即使用"筛选"。
-筛选选项以及用户权限上的项目下拉列表和列表(列表字段、注释)。
-更改了权限系统。如果用户是项目组的成员,则向用户添加用户角色。另外添加了组角色。
-用户组和角色现在有一个描述。
-表单的statemodel现在只有两个状态:draft、published
-在搜索中添加了对正则表达式的支持。现在您可以
配置searchTerm是否是正则表达式。
-在角色中显示用户列表。
-47:添加了最后一个登录列
-更改了缓存。如果可能,将基于类的缓存部分替换为基于请求的缓存。使用新的缓存对象(lib/cache.py)在
常规中进行缓存。


这允许在
搜索中使用特殊字符。因此,目前不再支持正则表达式
。请参阅52。
*搜索现在不区分大小写。
-修复只读下拉列表中的值扩展。
-新的formencode版本0.8.1
-新注册的用户现在除了用户组之外还有用户角色。
-实现formbar转换。

0.14.0
----
-更新到jquery 2.1.1
-更新到bootstrap 3.1.1
-更改了权限系统。
-添加布尔标志以选择组角色是否应包含在用户中。get_roles()
-更改了生成用户的主体。仅当用户在权限检查时是项目组的实际成员时,才会将组角色添加到用户中
-添加选项以配置模块级的默认组,如果未定义特殊用户默认组,则在创建时将其用作组。
-添加了有关用户配置文件到用户窗体。
-允许在listingfieldrenderer中引用python属性。
-仅在实际允许用户查看
或更新链接项时在下拉字段中呈现链接。
-在更新视图中支持可选窗体。
-修复de的配置tableconfig中的错误排序顺序(被忽略)。
将默认值更改为asc。
-根据tableconfig向listfieldrender添加排序。
-在项目概述页的页眉中显示项目数。
-基表现在是可输入的。
-在表单ove中添加表单模块的标签rview.

0.13.1
----
-在profile中的gender字段中添加了选项"not specified"。
-改进了dropdownfield的呈现。固定的emtpy字段,如果没有链接的
项目。
-在进口商工作。在导入时正确处理uuid值。
-如果删除了用户,请修复删除配置文件的问题。

<0.13.0
----
-改进的formbar表单编辑。使用新的基于js的ace(http://ace.c9.io/)编辑器编辑表单定义。需要新的FormBar库(>;=0.7)
-向表单编辑器添加预览选项卡,以便查看表单的基本预览。预览不支持任何动态Now应用程序
特定的呈现程序。
-将特定于窗体栏的css和js-on-application start写入ringo
静态文件夹。
-不将窗体栏的js和css代码包含到文档中。相反,使用
动态编写css和js文件,以减小生成的
文档的大小。
-改进的密码加密。使用passlib库
(https://pythonhosted.org/passlib/index.html)替换了hashlib.md5
算法中内置的pythons,以获得更安全的密码。


0.12.1
----
-改进了blobform项的导出。数据字段中的所有字段都将被展平并添加到导出的顶层,而不是导出"数据"属性。当前支持"删除"和
"导出"。
-修改导出。export现在支持导出多个项(绑定
操作)


0.11.5
----
-添加了更多测试用例
-在
配置文件中添加了新的配置变量"security.enable撸csrf撸check"。
-在csv导出时使用默认的excel对话框。

0.11.4
----
-41:夹板代码的核心。删除init_model函数调用,删除用于初始化应用程序数据库的initializedb
脚本。现在
alembic用于此项。
-删除默认项工厂,删除默认的Unicode函数。
-添加更多测试用例

0.11.3
----
-更改调用顺序以添加关系、处理事件并保存项中的值
。防止从链接项继承信息时出错。
-修复了auth\u tkt cookie中的最大保存时间设置。修复IE10中在棱锥体1.4.5中运行
时的错误。
-已更改导入。导入现在允许导入多个项目。导入
完成后,将显示一个结果页。
-实现导入和导出为csv。


0.11.2
----
-拆分的需求。测试所需的软件包现在已在本地安装。
-将unittests添加到test/lib/helpers
-将unittests添加到test/views/index
-增强的配置文件模块。添加了性别字段。设置一些所需的字段。
-向listfield渲染器添加了"multiple"属性。允许同时将
项的选择限制为一个项。仅在客户端实现。
-在访问基项的"getattribute"方法中的"separated
属性时添加对列表元素的支持。
-从标记到模块添加关系以允许指定模块的关键字。
-向窗体添加标记。
-向窗体添加注释。
-将selectionfield渲染器的"filter"属性移植到listfield渲染器。

0.11.1
----
-\36:另一个尝试修复缓存问题。这是
5c152bd的另一种方法,它试图禁用gets lost的缓存。(可能是合并错误)


0.11.0
----
-在"rest/rule/evaluate"下添加服务来计算规则。服务用于
客户端评估公式中的规则。
-在表单中以"_roles"值提供用户角色。此值可用于
为表单中基于角色的规则建模。表单需要一个隐藏字段,该字段接受
提供的"角色"。
-从表单和表配置中删除类别。它当前未使用。
-更改了ringo指定下拉列表的呈现方式。
-添加选项以配置组和所有者在所属mixin中创建新的
实例时的权限。
-删除项现在级联到日志、注释、版本和嵌套的
元素。
-18:添加一些Ringo Artwork.
-8:在应用程序中提供文档


>0.10.0
----
-添加py3o.template库的新要求。
-添加打印模板模块。打印模板是odt或ods文档,用作生成美观文档的模板。处理时,模板中的
模板占位符将替换为
项的值。模板可以包含基本的python表达式。例如迭代
列表。
-添加可打印的mixin。从这个mixin继承将添加一个打印操作到
项。
-修复权限检查。只有当用户实际拥有添加新项的权限时,添加按钮才能在列表中添加新项。
-将"showsearch"、"hidead"、"nolinks"属性添加到listfield renderer以增强呈现的配置。
-将角色的权限呈现为fieldlist。
-添加到dolistrendeRER在主视图中呈现TODOS。


0.9.2
----
-添加版本混合。这个mixin可以用来存储一个项目的不同版本。每次更新项时,项的序列化值都将
保存在版本表中。这些版本稍后用于显示表单中当前版本与给定先前版本之间的差异。
-将get-values函数添加到baseitem,以返回包含项的所有值的字典。也可以对项目进行序列化(这是一个非常简单的序列化)。
-重新组织的自动日志记录以及不断变化的状态。前一个版本在mixin类中实现为更新处理程序,并基于sqlalchemy"history"功能。不幸的是,这段历史在某些角落的案例中并不像预期的那么可靠。更新处理程序
已被删除,更改状态和日志记录现在直接在项的save方法中实现。


0.9.1
----
-将route-url替换为route-path。
-修复了在下拉式呈现程序中的链接呈现。考虑生成链接(读取/更新)时的用户权限
将选项添加到表呈现器中,以配置
表列的响应行为。现在您可以定义哪些列应该在其屏幕宽度上可见。默认情况下只显示第一列。
-在formeditor上工作。实现了在创建新的
(blobform)项时选择窗体。
-引入警告(formbar 393:bbd7a5192e29)。加载时验证项以生成警告。
-状态机中的处理程序现在获取转换作为附加参数。
如果转换允许访问状态,
状态机和请求(可选)。
-使用来自tabl的排序配置e DTLists中的配置。
-添加了分页的DTList。
-检查用户编辑项目后是否仍允许编辑该项目
(stateChange)。如果不调用替代读取url。
-提高了性能。在这里和那里做一些缓存。

<0.9.0
----
-添加注释模块
-添加标记模块
-添加todo模块
-添加表单模块
-为表单栏的保存方法等项编写保存方法。
覆盖blobforms中的方法。
-覆盖get-attr,获取值blobform中的e方法,用于处理从数据字段获取
值的操作。
-考虑如何处理一个项的多个表单。当前
这是在项级别上硬编码的,应该使用哪个表单。
-为每个基本项添加uuid字段
-实现简单的导入和导出。只有一个项目。无关系。
-添加JSON导入器和导出器
-在Ringo模块视图中添加导入和导出功能
模块除外
-小布局修复(flash消息)
-模块现在可以放在右上角的"用户菜单"中。用文本标题改进了菜单的布局。
-一些代码清理
-开始对不同的任务使用"invoke"命令,比如测试或构建文档。


0.8.1
----
-api更改的错误修复:基本列表不是用请求初始化的,而是用req初始化的uest.db
-改进文档
-基本脚手架中的一些修复。改进了alembic集成。

eta mixin.
-在更新或创建项时创建一个简单的日志项。
-用于缓存SQL查询的结果以提高性能。
-API更改:基本列表不是用请求而不是用请求初始化的。db
-向基本脚手架添加了alembic文件夹文档

0.7.0
----
-添加了news modul
-在dtlistings中也使用tableconfig中的"width"。
-现在可以单击dtlists中的行,如果允许用户更新
项,则单击时将调用更新操作。否则调用read操作。
-修复rest api的url,使其基本上与crud的典型url模式匹配
操作:

*get/items-检索项列表
*get/items/12-检索特定项
*post/items-创建新项
*put/items/12-更新项12
*修补程序/项/12-部分更新项12
*删除/项/12-删除12

请注意,并不是所有操作都已实际实现,但目前url
模式已进行了调整。


0.6.4
----
-改进的布局
-使用bootstrap 3
-使用新的formbar lib(bootstrap 3 compatible)
-优化的空间。已移除标签。在上下文菜单中添加了高级菜单,用于
访问以前放在选项卡中的其他内容。
-仅当配置了邮件
系统并且在auth
系统中启用了注册和提醒时,才显示用于注册用户或密码提醒的链接。请参阅ini文件。默认为未启用。
-实现了一个消息库。目前,它用于生成基于
mako模板并发送邮件。
-添加了用户更改密码的选项。

<0.6.3
----
-改进的授权系统。使构建acl更加简单和健壮。
-在模块设置中实现了项目的可配置str表示。
-在每个更新和读取页面上显示项目表示字符串。
-添加了新的日期相关帮助函数。
-如果用户被删除,也删除用户设置。
-在模块、表和窗体配置上添加缓存以提高性能。
-引入新的"form"get参数以可选地更改呈现的默认值。
-列表
-列表中的固定值扩展。
-在列表中添加选项以在expa上执行排序指定值或原始值。
-listingfieldrenderer
在上下文中使用listing与嵌套对象一起生成
hirachies时,请注意仅显示列表中的有效项以
防止生成损坏的hirachies。
-在fieldlistdrenderer中处理"onlylinked"配置变量。
-在FieldListRenderer中处理"ignore"配置变量。

<0.6.2
----
-修复了在创建新用户时导致密码生成错误的用户表单配置。
-更改了授权。现在,如果用户是项目组的
成员,则也可以访问项目。
-更改了项目列表中的授权。如果用户有权读取项目,则概述中仅包含项目。
-更新的翻译(缺少文件和约会模块的翻译)
-更改模型的导入。现在使用特定的导入模块功能导入应用程序中的
模型,以便能够导入其他
应用程序中覆盖的clazze。
-在POST请求时添加CSRF保护。现在,在每个post请求上都会检查一个特殊的csrf令牌。如果检查失败,则会引发授权错误。
-如果
所有权信息可用,则添加选项卡以更改更新和读取表单中的所有权信息。
-从列表中删除"转换"功能。
-添加新的Alembic脚本以初始化数据库。

0.6.1
----
-文件模块初始化错误修复(缺少名称)
-为视图添加了"values"get param。可用于预先填充具有给定
值的表单。
-改进了listfield呈现器的呈现。(添加了标签,使用新的"values"
参数)

<0.6.0
----
-添加了文件模块

>0.5.1
----
-添加了对数据库迁移的alembic支持。


0.5.0
----
-添加了约会模块
-添加了查询数据表呈现程序的呈现程序。
-添加了列表字段的呈现程序。列表字段基本上是表格中相关项的列表,通过提供复选框来选择和取消选择项。
选定项将被链接。
-添加了"backurl"get参数。此参数可用于定义url
,在create、
update或delete成功后,应调用该url而不是默认的重定向操作。参数保存在会话中。
-添加了更多行为测试(现在代码覆盖率为42%)。

>0.4.1
----
-为下拉列表添加了一个特定于ringo的呈现器,该呈现器在下拉列表的标签旁边添加了一个小链接。基于"行为"的r驱动测试基础设施
-小错误修复。

>0.4.0
----
-添加了rest完整服务。对于前缀为"rest"的
已知url上的所有模块,都可以访问该服务。例如rest/users/list。使用接口需要提供授权和身份验证。
-添加了"嵌套"mixin类以允许嵌套项。
-当窗体有多个页时,当前选定的页现在保存在用户会话中。需要最新的formbar版本。
-在formbar所需的注入js代码中使用新的get-formbar-js方法。neededs
最近的formbar库。
-具有metamixin的项的默认创建和更新日期为
utcnow now。
-25:添加了对自定义渲染的支持。现在可以定义渲染器并将其提供给视图函数。渲染器必须从formbar派生(fieldrenderer)视图函数将渲染器提供给formbar库。
需要最新的formbar版本(>;=0.3.0)

0.3.2
----
i18n支持:
-来自formbar的用户自定义提取器,用于xml格式的转换字符串
配置。无需将配置中的字符串标记为
可翻译。
-删除了语言要求。
-在基本脚手架中添加了对翻译的支持。

<0.3.1
----
搜索:
-添加了新的tableconfig类。这个clazz提供了一个json
文件的接口,该文件用于配置呈现
概述表的各个方面。此新的配置指令将替换为旧的
u table\u fields配置属性。
-26:从表单配置展开概述中的关系值。
-27:在会话中保存当前排序。
-28:在保存的搜索中与搜索查询一起保存排序是的。

i18n支持:
-23:renderes中的i18n支持。添加更多翻译。
-根据需要添加语言。需要用于i18n支持的消息提取
-将表单配置标记为可翻译。
-添加了对转换表单的支持。需要formbar>;=0.2.1
-添加了对总览中标题翻译的支持。

misc:
-\19:登录应在弹出窗口中


0.3.0
----

-\15:通过单击列中的值实现搜索
-启用搜索。
-添加了表以保存用户设置S(分贝变化!)
-启用在用户设置中保存搜索查询。

-添加了dogpile.cache依赖项,因为在sqlalchemy中进行了缓存。
-启用了SQL查询的基本缓存。


0.2.2
----

-布局有所改进。使标题更紧凑,不会浪费太多空间-在基本脚手架视图下创建一个空的"forms"目录。修复了在添加新模块时创建form.xml文件时出现的错误。
-改进的add-modul命令。固定模块(重新)初始化。如果重新创建数据库时,
模块初始化不会发生。
-修复get_path函数。路径现在与应用程序相对(与ringo相对)
-10:将"visible"标志添加到模块。现在可以在
菜单中配置模块以显示模块。(DB改变!)
-在模块中添加了新字段"clazzpath"。在权限检查时,dynmic
导入只需要内部。(DB改变!)
-需要版本>;0.1中的formbar才能呈现选择字段。


0.2.1
----

-改进的文档
-添加了一个简单的请求历史记录(需要用于7)
-1:在用户未登录时获取角色时出错
-2:放置一些有用的C默认索引页上的内容
-3:在页眉中设置应用程序标题
-4:添加版本信息页
-5:添加关于页
-6:添加联系人页
-7:添加错误对话框(404403)
-9:清除和构造css
-17:如果绑定,则隐藏概述中的复选框操作不是enabled
-20:修复flash消息的布局
-21:完整的德语翻译


0.2
--


包含所有基本功能的第一个或多或少的版本。

-添加基本脚手架
-添加"添加模块"命令以添加新模块的样板代码。

0.1
--

-基本模型初始化
-基本页面布局
-添加身份验证


0.0
--

-初始版本

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

推荐PyPI第三方库


热门话题
如何在javaswing中使用进度条,同时函数在繁重的进程中工作   SWIG(Java):如何调用带有void*out参数的函数?   java帮助解决算法问题   java,但我不想用try/catch块来包围语句!   可以从java类调用安卓类吗?   java流拆分器实现细节   java组织。莫基托。例外情况。滥用。无效使用MatcherException   java如何显示接收到的字符串?   java为什么这段代码不像JSR133建议的那样进入无限循环?   java BufferedReader readLine()从socket获取数据时冻结   java如何使用html表单发送的XML?   java RxJava与观察者代码的并行执行   我想使用CoreJava基于文本输入动态创建一个jpg图像   java如何在Mockito中模拟注入的bean?   java我的程序突然停止工作,我没有改变我记得的任何东西,现在它给出了第二个错误:javafx。fxml。加载异常   java树集排序错误   java RSA加密解密AES密钥并存储在文件中   Java将变量字符串[]与字符串混合在一个字符串数组中   如何在鼠标移动时重新绘制Java SWT应用程序?