跳转到主要内容

可插拔应用程序,用于在数据库(sqlalchemy或ming)上使用RST或HTML管理静态页面(/about)

项目描述

关于flatpages

flatpages是一个针对TurboGears2的可插拔应用程序,旨在简化对TurboGears应用程序内部简单静态页面的管理。

您不需要为“关于”、“联系”等页面创建控制器和模板,只需插入flatpages并直接从管理界面编辑它们。

安装

flatpages可以从pypi或从bitbucket安装

pip install tgapp-flatpages

应该适用于大多数用户

插入flatpages

在您的应用程序config/app_cfg.py中导入plug

from tgext.pluggable import plug

然后在文件末尾调用plug与flatpages

plug(base_config, 'flatpages')

您将能够访问插入的应用程序管理界面,地址为http://localhost:8080/pages/manage,而您创建的所有页面都将托管在http://localhost:8080/pages/PAGENAME

限制页面访问

flatpages支持仅对具有特定权限的用户限制对页面的访问。当创建页面时,将其设置为公开仅注册用户或应用程序提供的任何权限

从文件加载页面

在处理静态页面时,通常将起始版本或新版本包含在源代码中,而不是在每次内容更改时提供数据库迁移,这通常更容易。

为此,flatpages允许从应用程序本地的文件加载页面内容。为此,只需将静态页面的内容设置为file://path/relative/to/application/package即可。

选项

flatpages提供了一些选项来控制渲染页面时的行为,将这些选项传递给插件调用以进行设置

  • format -> 这是用于渲染页面内容的格式,可以是html或存储页面为RST或HTML格式时的rst。从0.4.0版本默认为html

  • templates -> 这是一个可供渲染页面的模板列表。每个条目采用以下形式:("engine:package.templates.path", "Template Description")

使用genshi作为模板引擎的插件示例

plug(base_config, 'flatpages', format='html',
 templates=[("genshi:yourproject.templates.flatpages.page", "default")],
global_models = True)

覆盖CRUD模板

您可以在https://github.com/TurboGears/tgext.admin/tree/master/tgext/admin/templates/bootstrap_crud中找到tgext.admin的模板,并在您的app_cfg.py中使用类似以下内容来覆盖它们

replace_template(base_config,
                 'tgext.admin.templates.bootstrap_crud.get_all',
                 'myproject.templates.crud.get_all')

钩子

flatpages提供了一些钩子来控制渲染页面时的行为

  • flatpages.before_override_template -> 在模板被信息覆盖之前调用的钩子,作为参数传递一个包含页面别名和self的对象。

  • flatpages.after_override_template -> 在模板被信息覆盖之后调用的钩子,作为参数传递一个FlatPage对象和self。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

tgapp-flatpages-0.4.0.tar.gz (95.9 kB 查看哈希值)

上传时间

由以下机构支持