from .models import Page from django.http import HttpResponse from django.db import connections from django.shortcuts import get_object_or_404, render from django.template import Context from django.views.decorators.cache import cache_page def search(request): with connections["default"].cursor() as cursor: cursor.execute("SELECT rowid FROM search_index WHERE search_index = %s;", ["content"]) row = cursor.fetchone() pages = Page.objects.filter(id__in=row) return HttpResponse(str(pages), content_type="text/plain") def content(request, slug): page = get_object_or_404(Page, slug=slug) return render(request, "content.html", { "page": page, "content": page.content_template.render({"request": request, "page": page}) }) cached_content = cache_page(600, cache="mem")(content)