Я довольно новичок в Django CMS и унаследовал веб-сайт со следующими характеристиками:
- Django 1.10.8
- Django CMS 3.4.5
- Python 2.7
К сожалению, на данный момент нет возможности для обновления.Кроме того, прошу прощения, если я неправильно использую терминологию - я буду признателен за исправления.
У меня есть приложение для персонала с моделями для Staff
и StaffTranslation
(и т. Д.), И у меня есть задача обновить администратораразрешить добавление одной или нескольких ссылок к каждому StaffTranslation
.Однако у меня возникли проблемы с определением наилучшего способа сделать это и какие компоненты использовать.
Я определил плагин djangocms-link , который может быть возможным, но яне могу найти инструкции о том, как добавить несколько экземпляров на страницу модели или администратора.Кроме того, последняя версия требует Django 1.11, как минимум.
Я также нашел PageSmartLinkField - который выглядит умным - но я не смог найти, как интегрировать его с даннымидля объекта StaffTranslation
или как его отобразить на странице администратора для этого объекта.
Буду признателен за любые предложения о том, как структурировать это - это кажется достаточно простой задачей, я думаю, что я простоотсутствует часть или две головоломки.
Конечная цель состоит в том, чтобы иметь нулевое или много ссылок на StaffTranslation
(который имеет свою собственную страницу администратора), с возможностью добавить хотя бы URLи ссылку на текст каждого из них.Было бы разумно, если бы был некоторый помощник по пользовательскому интерфейсу, позволяющий легко выбирать внутренние ссылки, но текстовое поле было бы в порядке.
РЕДАКТИРОВАТЬ: модель StaffTranslation
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?
Я пропустил функции, определенные в модели.
Опять же, было бы неплохо обновить, но это произойдет не раньше лета, и эту задачу нужно решить сейчас.:)