可插拔应用程序,用于在数据库(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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aea9131f878daf53b0fba042d09fdfbd35a67bc4da552fe7ed01b708ef6cda2b |
|
MD5 | 09062bd44411ee0fe902cacf952d64f9 |
|
BLAKE2b-256 | 29aba8df6100cb0380d00c3ecef2a05dcb6b54d4f317893b84ec1959ed1060c8 |