我正在尝试用DjangoCMS
和一些共享页面构建几个网站。是否可以创建一个跨所有djangoSite
共享的页面
使用基本的DjangoCMS
配置,当页面发布在Site
上时,它不会出现在其他Site
上。我想知道这是否以任何方式可配置
在查看代码时,我看到TreeNode
链接到一个特定的Site
(https://github.com/divio/django-cms/blob/develop/cms/models/pagemodel.py#L52),所以我想如果可能的话,它不会那么简单
class TreeNode(MP_Node):
# [...]
site = models.ForeignKey(
Site,
on_delete=models.CASCADE,
verbose_name=_("site"),
related_name='djangocms_nodes',
db_index=True,
)
# [...]
如果DjangoCMS没有处理这个问题,或者甚至没有一些关于如何处理这个问题的想法或指导,我可以使用外部模块,我真的没有任何线索
非常感谢
我已经用DjangoCMS代码本身中一些丑陋的补丁解决了这个问题
然后,我将在
urls.py
文件中的urlpatterns
变量之前导入此文件(警告您它很难看)DjangoCMS所做的是,它尝试用请求中给定的
Site
查找Page
。如果未找到Page
,DjangoCMS将引发404错误,但在我们的例子中,我们重新执行相同的查询,但这次没有Site
过滤器这样,在一个
Site
上创建的Page
可以在每个子Site
上访问然后,我需要在每个
Site
上都有一些Page
可访问,其中大部分内容相同,但有些内容不同。我已经通过使用static_placeholder
标记解决了这个问题,该标记可以按sub-Site
指定http://docs.django-cms.org/en/latest/reference/templatetags.html#static-placeholder相关问题 更多 >
编程相关推荐