为Wagtail提供用于编程构建页面树的工具
项目描述
Wagtail Foliage
用于在Wagtail中自动测试、默认站点结构等情况下编程构建页面树的工具。
需求
Wagtail Foliage 支持
- Python 3.4, 3.5, 3.6 和 3.7
- Django 1.11, 2.0 和 2.1
- Wagtail 1.13, 2.3 和 2.4
这些是目前支持的版本,截至2018年12月,不包括Python 2.7。
安装
pip install wagtail-foliage
使用
作为上下文管理器使用
from django.db import TestCase
from foliage.contextmanagers import page_tree
from myapp.models import HomePage, InsidePage
class MyAppTestCase(TestCase):
def test_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')
])
])
]
with page_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
作为装饰器使用
from django.db import TestCase
from foliage.contextmanagers import page_tree
from myapp.models import HomePage, InsidePage
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')
])
])
]
class MyAppTestCase(TestCase):
@page_tree(PAGES)
def test_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
from foliage.utils import build_page_tree
from myapp.models import HomePage, InsidePage
new_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')
])
])
])
项目详情
下载文件
下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
wagtail-foliage-0.1.1.tar.gz (6.5 kB 查看哈希值)