用wagtail编程构造页面树的实用程序
wagtail-foliage的Python项目详细描述
摇尾叶
在wagtail中以编程方式构建页面树的实用程序 测试、默认站点结构等。
要求
摇尾叶支架:
- python 3.4、3.5、3.6和3.7
- django 1.11、2.0和2.1
- 摇尾1.13、2.3和2.4
这些是截至12月每个项目当前支持的版本 2018年,将Python2.7排除在此列表之外。
安装
pip install wagtail-foliage
用法
用作上下文管理器
fromdjango.dbimportTestCasefromfoliage.contextmanagersimportpage_treefrommyapp.modelsimportHomePage,InsidePageclassMyAppTestCase(TestCase):deftest_with_pages(self):PAGES=[(HomePage(title='Home Page'),[InsidePage(title='Inside Page'),(InsidePage(title='Inside Page With Children'),[InsidePage(title='Third Level Page'),InsidePage(title='Another Third Level Page')])])]withpage_tree(PAGES):# Tests that rely on that page tree go here. The context manager# will automatically set the top level page as the Wagtail site's# root page
用作装饰
fromdjango.dbimportTestCasefromfoliage.contextmanagersimportpage_treefrommyapp.modelsimportHomePage,InsidePagePAGES=[(HomePage(title='Home Page'),[InsidePage(title='Inside Page'),(InsidePage(title='Inside Page With Children'),[InsidePage(title='Third Level Page'),InsidePage(title='Another Third Level Page')])])]classMyAppTestCase(TestCase):@page_tree(PAGES)deftest_with_pages(self):# Tests that rely on that page tree go here. The context manager# will automatically set the top level page as the Wagtail site's# root page
使用低级api
fromfoliage.utilsimportbuild_page_treefrommyapp.modelsimportHomePage,InsidePagenew_pages=build_page_tree([(HomePage(title='Home Page'),[InsidePage(title='Inside Page'),(InsidePage(title='Inside Page With Children'),[InsidePage(title='Third Level Page'),InsidePage(title='Another Third Level Page')])])])