在my-django-project
中,我成功实施了一个由wagtail驱动的应用,允许引用Map()
的模型my-django-project
作为wagtail/admin
中的一个片段(如描述here)。
我现在的问题是,当我选择(在SnippetChooserPanel中)将Map()
的实例集成到我的wagtail模板中时,我的选择会丢失,我的模板将呈现在Map()表中找到的所有实例。
这是因为我在SnippetChooserPanel中的选择没有传递给wagtail-app模板。
我的wagtail-app / models.py
class HomePage(Page):
[..]
maps = models.ForeignKey(
'maps.Map',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
[..]
class Meta:
verbose_name = "Homepage"
HomePage.content_panels = Page.content_panels + [
[..]
SnippetChooserPanel('maps')
]
MY-Django的project.maps.templates.maps /的 maps.html 的
{% load wagtailimages_tags wagtailadmin_tags %}
{% load i18n %}
{% for map in maps %}
<div class="col-xs-4 item-thumb">
<a href="{{ map.detail_url }}"><img src="{{ map.thumbnail_url }}" />
</a>
</div>
{% endfor %}
MY-Django的project.maps.templatetags /的 maps_tags.html 的
from django import template
from geonode.maps.models import Map
register = template.Library()
# Map snippets
@register.inclusion_tag('maps/maps.html', takes_context=True)
def maps(context):
print("QUI \n")
return {
'maps': Map.objects.all(),
'request': context['request'],
}
我的wagtail-app.templates / home_page.html
{% load maps_tags %}
<div class="mine">
[...]
{% maps %}
</div>
我是Wagtail的新手,关于SnippetChooserPanel处理的文档不多..
你有任何提示吗?
提前感谢您提供的任何帮助。
答案 0 :(得分:2)