html-over-websockets-with-d.../app/website/views.py
Andros Fenollosa cd79957fe6 Add search
2021-11-20 20:29:44 +01:00

56 lines
1.2 KiB
Python

from django.shortcuts import render
from django.template.loader import render_to_string
from random import randint
from django.conf import settings
from .models import Talk
from asgiref.sync import sync_to_async
def index(request):
"""Render layout page"""
return render(
request,
"layouts/base.html",
{
"room_random": randint(1000000, 9999999),
"DOMAIN": settings.DOMAIN,
},
)
def page_talks(page=1):
TALK_PER_PAGE = 5
return render_to_string(
"pages/talks.html",
{
"talks": Talk.objects.order_by("title")[: TALK_PER_PAGE * page],
"page": page,
"next_page": page + 1,
},
)
def page_single_talk(id):
return render_to_string(
"pages/talk-single.html",
{
"talk": Talk.objects.get(id=id),
},
)
def page_about():
return render_to_string("pages/about.html", {})
def page_results(search):
return render_to_string(
"pages/talks.html",
{
"talks": Talk.objects.filter(
title__icontains=search.lower()
).order_by("title"),
"search": search,
},
)