Molodetz blogrol volgens DPP-template
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# retoor <retoor@molodetz.nl>
|
||||
from molodetz.constants import TOPICS
|
||||
from molodetz.database import published_posts
|
||||
from molodetz.responses import respond
|
||||
from molodetz.schemas.posts import PostListOut
|
||||
from molodetz.seo import base_seo_context, website_schema
|
||||
from molodetz.seo_meta_text import description_for
|
||||
|
||||
|
||||
def topic_listing(request, topic):
|
||||
before = request.query_params.get("before")
|
||||
posts, next_cursor = published_posts(topic=topic, before=before, limit=25)
|
||||
title = TOPICS[topic]
|
||||
next_url = f"{request.url.path}?before={next_cursor}" if next_cursor else None
|
||||
seo = base_seo_context(
|
||||
request,
|
||||
title,
|
||||
description_for(topic),
|
||||
breadcrumbs=[("Molodetz", "/"), (title, f"/{topic}")],
|
||||
schemas=[website_schema(request)],
|
||||
next_url=next_url,
|
||||
robots="noindex,follow" if before else "index,follow",
|
||||
)
|
||||
ctx = {"title": title, "topic": topic, "posts": posts, "next_cursor": next_cursor, "next_url": next_url, "seo": seo}
|
||||
return respond(request, "listing.html", ctx, model=PostListOut)
|
||||
Reference in New Issue
Block a user