2016-11-14 2 views
0

У меня есть уже существующий проект Django, где я начал приложение, управляемое Wagtail. В проекте Django у меня есть модельная карта, которую мне нужно сделать также в wagtail-приложении.Как добавить внешний объект в качестве панели полей в Wagtail CMS

Django-проект класса Карта в model.py

class Map(..): 

трясогузка-приложение model.py:

class Wagtail-appPage(Page): 
    main_image = models.ForeignKey(
     'wagtailimages.Image', 
     null=True, 
     blank=True, 
     on_delete=models.SET_NULL, 
     related_name='+' 
    ) 
    map = models.ForeignKey(Map, related_name="map_set", null=True, blank=True) 
    date = models.DateField("Post date") 
    intro = models.CharField(max_length=250) 
    body = RichTextField(blank=True) 

    content_panels = Page.content_panels + [ 
     FieldPanel('date'), 
     FieldPanel('intro'), 
     FieldPanel('body', classname="full"), 
     ImageChooserPanel('main_image'), 
     <MapChooserPanel>('map') 
    ] 

Моя цель состоит в том, чтобы добавить возможность загружать объекты карты в (например, MapChooserPanel()) в wagtail/admin, как это происходит для стандартных изображений.

Как вы продолжите? Звучит ли это очень сложно? Я совершенно не знаком с Wagtail ..

Заранее благодарю вас за любую помощь, которую вы предоставите.

ответ

1

Самый простой способ - зарегистрировать свою модель карты как snippet, а затем ссылаться на нее со своей страницы с помощью SnippetChooserPanel.

Удачи вам!

+0

Благодарим вас за подсказку, как только я ее реализую, я задам этот вопрос, как ответил! Но прежде чем я попытаюсь решить эту вторую проблему, http://stackoverflow.com/questions/40635608/how-to-set-the-project-root-url-when-wagtail-is-integrated-as-an-app -in-a-django – user123892

+0

все сделано! Спасибо – user123892

Смежные вопросы