我是Django CMS的新手,我继承了一个有以下规范的网站:
不幸的是,目前没有升级的选择。另外,请原谅,如果我的术语错了-我会感谢更正。你知道吗
我有一个带有Staff
和StaffTranslation
(etc)模型的Staff应用程序,我有一个任务来更新admin,以允许向每个StaffTranslation
添加一个或多个链接。但是,我很难确定最好的方法,以及使用什么组件。你知道吗
我已经确定了djangocms-link插件,这是可能的,但是我找不到关于如何向模型或管理页面添加多个实例的说明。另外,最新版本至少需要django1.11。你知道吗
我还发现了PageSmartLinkField——这看起来很聪明——但是我还没有发现如何将它与StaffTranslation
对象的数据集成,或者如何在该对象的管理页面上显示它。你知道吗
我将感谢任何关于如何构建这个的建议-这似乎是一个足够简单的任务,我想我只是错过了一两个拼图。你知道吗
最终目的是在一个StaffTranslation
(有自己的管理页面)上拥有零个或多个链接,并且能够至少向每个链接添加url和链接文本。如果有一些UI助手,允许轻松选择内部链接,那么这将是明智的,但是文本字段也可以。你知道吗
编辑:员工翻译模型
class StaffTranslation(TimeStampedModel):
staff = models.ForeignKey(Staff, related_name='translations')
language = models.ForeignKey(Language)
specialist_work_title = HTMLField(max_length=128, null=True, blank=True) # SpecialistWorkTitle
description = HTMLField(null=True, blank=True) # PersonText
experience = HTMLField(null=True, blank=True) # Experience
phone_office = models.CharField(max_length=128, null=True, blank=True) # OfficePhone
phone_cell = models.CharField(max_length=128, null=True, blank=True) # CellPhone
mentions = HTMLField(null=True, blank=True) # Mentions
education = HTMLField(null=True, blank=True) # Education
other_qualifications = HTMLField(null=True, blank=True) # OtherQualifications
meta_title = models.TextField(null=True, blank=True) # MetaTitle
meta_keywords = models.TextField(null=True, blank=True) # MetaKeywords
meta_description = models.TextField(null=True, blank=True) # MetaDescription
legacy_data = models.TextField(null=True, blank=True)
objects = querysets.StaffTranslationQuerySet.as_manager()
# I would like to add something here like links = models.ForeignKey(Link, related_name='links') - so should I make a Link model and add as a many to many relation, and how do I integrate that into the admin?
我遗漏了模型上定义的函数。你知道吗
同样,升级也不错,但最早要到夏天才能实现,现在必须解决这个任务。:)
我认为这里为您提供的解决方案将是一个占位符字段,这样您就可以像任何其他插件一样为这个模型的每个实例添加CMS插件。例如:
然后在详细视图模板中执行
{% render_placeholder object.content %}
,它将显示该对象的占位符,就像在任何标准页面模板中显示占位符一样。你知道吗很明显,您可以添加任何CMS插件、链接或其他内容,并且将与
StaffTranslation
实例上的其他属性一起呈现。你知道吗上面的文档在这里;http://docs.django-cms.org/en/latest/how_to/placeholders.html
相关问题 更多 >
编程相关推荐