从Wagtail的一个实例导出到另一个实例的页面
项目描述
wagtail-import-export
从一个Wagtail实例导出到另一个实例的页面。
已发布的页面及其已发布的子页面可以通过API或文件从源站点导出,并导入到目标站点下的现有页面。
目标站点应具有与源站点相同的页面模型,并具有兼容的迁移。
安装
pip install wagtail-import-export
现在将其添加到项目的 INSTALLED_APPS
INSTALLED_APPS = [
# ...
'wagtailimportexport',
# ...
]
将以下内容添加到项目的 urls.py(注意,include(wagtailimportexport_urls)
行必须出现在定义Wagtail默认路由的 include(wagtail_urls)
行之上)
from wagtailimportexport import urls as wagtailimportexport_urls
urlpatterns = [
# ...
url(r'', include(wagtailimportexport_urls)),
url(r'', include(wagtail_urls)),
]
(wagtailimportexport.urls
包含导出API端点。管理URL在 wagtailimportexport.admin_urls
中,并自动注册。)
现在您应该在Wagtail管理菜单中看到一个 '导入/导出' 项。
配置
通过API导入时,默认情况下只导出已发布的页面。如果子页面未发布,则删除它及其所有子页面(即使其中一些子页面是已发布的)。
可以通过在源站点添加设置来导出源页面下的所有页面
WAGTAILIMPORTEXPORT_EXPORT_UNPUBLISHED = True
不应在公共源站点中使用此设置,因为API未经验证,因此会向任何人公开未发布的内容。
限制
如果导入的内容包含指向页面模型的任何外键,则这些键将根据目标页面是否也是导入的一部分而更新为新的页面ID,否则将保持不变。如果目标页面既不是导入的一部分,在目标网站上也不存在,则可能因数据库完整性错误而失败。
富文本或StreamField内容中的页面引用不会重写以反映新的页面ID。
导入按树路径顺序处理;首先导入基本Page
记录,然后导入特定页面子类数据。如果导入了一个包含指向Page
特定子类的外键的模型,并且该外键的目标页面在导入中但晚于树路径顺序出现,这将因完整性错误而失败(因为相关记录在那个点尚未创建)。
非页面数据,如图像、文档或片段,不包括在导入中;用户负责确保从导入页面引用的所有对象已在目标网站上存在(具有匹配的ID)。
项目详情
wagtail-import-export-0.2.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2a7219f7d09c4a70ff0f8d677476d3995ff89c681669c5cea819eba6c123ed16 |
|
MD5 | 02d9fcd6f37b0bec6fc8c93b03a1a752 |
|
BLAKE2b-256 | 5d34e8b90b009f2d495760539c9ebb778de5655b5edfb5dd55885c665f3a6da7 |
wagtail_import_export-0.2-py2.py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e30e5dfc2ccec006402a9a69a191d07a18d59ab52e90d985d84074f4c8d1a65 |
|
MD5 | 31ebc6dfd9aff9fed404fbbcc4ceae8c |
|
BLAKE2b-256 | 32d2295ad43836dec4b38f68aeec0d8547d94a817747eeb1ea3181103010094b |