【发布时间】:2019-10-25 21:13:10
【问题描述】:
我正在学习 Python 和 Django,我的最终目标是创建一个管理面板来管理两件事:
- “动态文章/项目”(可创建表单类型输入)。
- “动态分类/标签”(可以创建“表单类型”数据的类别或分组)。
我看过 DjangoCMS 的文档,但找不到这些概念的名称,你能指导我吗?
谢谢
【问题讨论】:
标签: python django django-cms
我正在学习 Python 和 Django,我的最终目标是创建一个管理面板来管理两件事:
我看过 DjangoCMS 的文档,但找不到这些概念的名称,你能指导我吗?
谢谢
【问题讨论】:
标签: python django django-cms
你几乎可以做任何你想做的事。如果您想添加页面给您的内容,请扩展页面; http://docs.django-cms.org/en/latest/how_to/extending_page_title.html
我已经用它来向页面添加图像,所以你可以用它来添加标签或任何你想要的东西。
这是一个将颜色归因于页面的示例;
class PageColourExtension(PageExtension):
"""
Extend the page model with a background image field.
"""
page_colour = models.CharField(
_("Base colour"),
max_length=50,
null=True,
choices=COLOUR_CHOICES,
)
def __unicode__(self):
"""
Identify by the page it is tied to.
@return: page name
@rtype: str
"""
return '%s' % self.extended_object
extension_pool.register(PageColourExtension)
【讨论】:
我不确定 djanog-cms 是否适合您的任务。它的主要目的是管理分层页面,以及这些页面上的内容。您需要记住,这个概念已经存在,无法更改,只能扩展。
对于您的具体情况,我建议您创建一个自己的 Article 模型,然后在您的文章模型上使用 PlaceholderField - 它允许创建真正动态的内容,与使用时相同的方式厘米页面。请参阅django-cms placeholder outside the cms docs 了解如何执行此操作。
如果您想同时使用 django-cms 和您的自定义应用程序/文章应用程序,您可以使用 app-hook 将您的网址嵌入到 cms 页面下。请参阅文档djanog-cms apphooks
【讨论】: