diff options
| author | 2020-10-28 20:40:27 +0200 | |
|---|---|---|
| committer | 2020-10-28 20:40:27 +0200 | |
| commit | f7dc1a863a195756eb9ad148478f8b2bd42dbebe (patch) | |
| tree | 2a36ab25b625369dbe940a1780c45947a3347d17 | |
| parent | Use path converter for event page path argument (diff) | |
Port View to TemplateView for events page view
| -rw-r--r-- | pydis_site/apps/events/views/page.py | 22 | ||||
| -rw-r--r-- | pydis_site/settings.py | 5 | 
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': [ | 
