DjangoCMS复制站点

问题描述

我们正在使用djangocms,并且有德语和英语页面。现在,两个页面标签都必须相同。有没有一种方法可以将所有德语页面的子弹复制到所有英语页面,而无需进入站点设置并将德语弹头复制粘贴到英语弹头?

我想要的东西

manage.py cms copy lang --from-lang=de --to-lang=en --verbosity=2 --skip-content

但是我还没有尝试过。谢谢您的帮助。

解决方法

复制管理命令复制页面/站点的全部内容,不仅限于设置。 https://github.com/divio/django-cms/blob/develop/docs/reference/cli.rst#cms-copy

您可以创建自己的管理命令,方法是从cms复制整个命令并对其进行修改以适合您的需要,这将位于您自己的项目中。

您要做的就是获取DE标题并设置子弹:

https://github.com/divio/django-cms/blob/develop/cms/management/commands/subcommands/copy.py#L56

这是CMS复制页面时内部执行的方式: https://github.com/divio/django-cms/blob/develop/cms/models/pagemodel.py#L700