页面从一个wagtail实例导出到另一个wagtail实例

wagtail-import-export的Python项目详细描述


Wagtail进出口

页面从一个wagtail实例导出到另一个wagtail实例。

已发布的页面及其发布的后代可以通过API或文件从源站点导出,并在现有页面下导入目的地站点。

目标站点应具有与源站点相同的页面模型,并具有兼容的迁移。

安装

pip install wagtail-import-export

现在添加到项目的INSTALLED_APPS

INSTALLED_APPS = [
    # ...
    'wagtailimportexport',
    # ...
]

将以下内容添加到项目的url.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

这应该not用于公共源站点,因为api未经身份验证,因此将向任何人公开未发布的内容。

限制

如果导入的内容包含页面模型的任何外键,则如果目标页面也是导入的一部分,则这些外键将更新以反映新的页面ID,否则将保持不变。如果目标页既不是导入的一部分,也不存在于目的地站点上,则很可能由于数据库完整性错误而失败。

富文本或streamfield内容中的页引用将不会重写以反映新的页id。

导入按树路径顺序处理;首先导入基Page记录,然后导入特定页子类的数据。如果导入的模型包含Page的特定子类的外键,并且该外键的目标页出现在导入中,但稍后会按树路径顺序显示,则此操作将失败,并出现完整性错误(因为此时不会创建相关记录)。

导入中不包括非页面数据,如图像、文档或片段;用户负责确保从导入页面引用的任何对象都已存在于目标网站上(具有匹配的ID)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实现的一个简单算法(计算概率)   更改应用程序背景动画的java首选项   java捕获图像并通过socket发送   基于双精度数组的对象的java排序Arraylist?   java似乎无法获得前面数字的正确总和   java卡住了Tomcat线程。日食乐观锁定   java是一个异步的Throwable类的printStackTrace()   java随机错误(可能是)Android支持库   java我应该在代码中自动创建DB表,还是在安装过程中使用preinit?   在被调用的方法/函数Java/Android中处理异常?   arraylist Java发送电子邮件非法分号?   while循环中的Java数组   java Arquillian和TransactionAttribute类型。需要新的   java“未找到合适的驱动程序”获取此错误   java高性能地将子类转换为真正的超类   java如何从另一个活动访问变量   安卓 Java Kotlin泛型将类getter作为参数传递到函数中   尝试访问数组的某个位置时需要java“]”