Sure, my urls look like this:
urlpatterns = (
    path('<path:path>/', views.page_detail, name="page"),
    path('<path:path>/sitemap.xml', cache_page(60*60)(views.sitemap_view),
         name="sitemap-index"),
)

And i have this view for the sitemap_view, that creates the sitemap for 
each page under the path of the request.

def sitemap_view(request, path='/'):
    sitemaps = {}

    top_page = get_object_or_404(
        Page.objects.active(),
        path=f"/{path}/" if path else '/',
    )

    sitemaps['pages'] = PageSitemap(top_page)

    for blog_page in top_page.descendants(include_self=True).filter(
application='blog'):
        sitemaps[blog_page.slug] = ArticleSitemap(blog_page)

    for event_page in top_page.descendants(include_self=True).filter(
application='events'):
        sitemaps[event_page.slug] = EventSitemap(event_page)

    for category_page in top_page.descendants(include_self=True).filter(
application='categories'):
        sitemaps[category_page.slug] = CategorySitemap(category_page)

    return sitemap_view(
        request, sitemaps,
    )

So under one path lives a seperate structure that has different content.


On Tuesday, May 26, 2020 at 2:33:42 PM UTC+2, Sandro Covo wrote:
>
> Hello,
>
> I'm trying to add sitemaps on a per object base to my project. I have 
> created a wrapper around sitemaps.views.sitemap that captures additional 
> parameters to get the object and create the required sitemap. But I can't 
> create a sitemap index, since the index views tries to resolve the sitemap 
> view with only the section parameter.
>
> The solution would be to allow additional parameters to the 
> sitemaps.views.index function that would be used in the lookup for the 
> section-urls. I created a branch and tried to implement this here: 
> https://github.com/django/django/commit/d4ee80daabcf9af4e7cfe6b966522849e8018224
>
> Not sure how to proceed from here, if you think that's ok I think I'll 
> create a pull request?
>
> Best regards
> Sandro
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/7791e496-e225-4dca-a57b-fca9851c34db%40googlegroups.com.

Reply via email to