aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2020-10-28 20:40:27 +0200
committerGravatar ks129 <[email protected]>2020-10-28 20:40:27 +0200
commitf7dc1a863a195756eb9ad148478f8b2bd42dbebe (patch)
tree2a36ab25b625369dbe940a1780c45947a3347d17 /pydis_site
parentUse path converter for event page path argument (diff)
Port View to TemplateView for events page view
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/events/views/page.py22
-rw-r--r--pydis_site/settings.py5
2 files changed, 15 insertions, 12 deletions
diff --git a/pydis_site/apps/events/views/page.py b/pydis_site/apps/events/views/page.py
index 8a99ce13..1e3532f9 100644
--- a/pydis_site/apps/events/views/page.py
+++ b/pydis_site/apps/events/views/page.py
@@ -1,27 +1,27 @@
from pathlib import Path
+from typing import List
from django.conf import settings
-from django.core.handlers.wsgi import WSGIRequest
-from django.http import Http404, HttpResponse
-from django.template import Context, Template
-from django.views import View
+from django.http import Http404
+from django.views.generic import TemplateView
PAGES_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "events", "pages")
-class PageView(View):
+class PageView(TemplateView):
"""Handles event pages showing."""
- def get(self, request: WSGIRequest, path: str) -> HttpResponse:
- """Render event page rendering based on path."""
- page_path = PAGES_PATH.joinpath(path)
+ def get_template_names(self) -> List[str]:
+ """Get specific template names"""
+ page_path = PAGES_PATH / self.kwargs['path']
if page_path.exists() and page_path.is_dir():
page_path = page_path.joinpath("_index.html")
+ self.kwargs['path'] = f"{self.kwargs['path']}/_index.html"
else:
- page_path = PAGES_PATH.joinpath(f"{path}.html")
+ page_path = PAGES_PATH.joinpath(f"{self.kwargs['path']}.html")
+ self.kwargs['path'] = f"{self.kwargs['path']}.html"
if not page_path.exists():
raise Http404
- template = Template(page_path.read_text())
- return HttpResponse(template.render(Context()))
+ return [self.kwargs['path']]
diff --git a/pydis_site/settings.py b/pydis_site/settings.py
index a73ac463..0387567f 100644
--- a/pydis_site/settings.py
+++ b/pydis_site/settings.py
@@ -120,7 +120,10 @@ ROOT_URLCONF = 'pydis_site.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [os.path.join(BASE_DIR, 'pydis_site', 'templates')],
+ 'DIRS': [
+ os.path.join(BASE_DIR, 'pydis_site', 'templates'),
+ os.path.join(BASE_DIR, 'pydis_site', 'apps', 'events', 'pages'),
+ ],
'APP_DIRS': True,
'OPTIONS': {
'builtins': [