From a3c55fd9754d29fc6a80e96a441af76d676e2d2d Mon Sep 17 00:00:00 2001 From: grisel-davy Date: Wed, 30 Dec 2020 18:48:14 +0100 Subject: [PATCH] first working version --- litl/templates/base.html | 2 +- litl/templates/unknown.html | 9 +++++++++ litl/urls.py | 5 +++-- litl/views.py | 14 ++++++++++---- 4 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 litl/templates/unknown.html diff --git a/litl/templates/base.html b/litl/templates/base.html index 0327dd0..7f1fba8 100644 --- a/litl/templates/base.html +++ b/litl/templates/base.html @@ -12,7 +12,7 @@
diff --git a/litl/templates/unknown.html b/litl/templates/unknown.html new file mode 100644 index 0000000..1831e5d --- /dev/null +++ b/litl/templates/unknown.html @@ -0,0 +1,9 @@ +{% extends 'base.html' %} + +{% block content %} +
+
+

litl.auro.re/{{slug}}

Is not a valid entry for this instance of litl.

+
+
+{% endblock %} diff --git a/litl/urls.py b/litl/urls.py index d0754d2..b899505 100644 --- a/litl/urls.py +++ b/litl/urls.py @@ -16,12 +16,13 @@ Including another URLconf from django.contrib import admin from django.urls import path -from .views import index, AddSlug, display +from .views import index, AddSlug, display, redirect urlpatterns = [ path('admin/', admin.site.urls), #path('', index, name="index"), path('', AddSlug, name="index"), #path(r"^display/(?P[a-zA-Z0-9]+)$", display, name="display"), - path('display//', display, name='display'), + path('display//', display, name='display'), + path('/', redirect, name='redirect'), ] diff --git a/litl/views.py b/litl/views.py index 335ee88..e231e30 100644 --- a/litl/views.py +++ b/litl/views.py @@ -36,12 +36,18 @@ def AddSlug(request): form = SlugAddForm() return render(request,'add_slug.html',{'form':form}) -def display(request, slug): - slug = Slug.objects.filter(slug = slug).all() +def display(request, slug_got): + slug = Slug.objects.filter(slug = slug_got).all() if slug.count()!=1: - # TODO Redirect to 'unknown and display a message - return HttpResponsRedirect('display') + return render(request,'unknown.html',{'slug':slug_got}) else: context = {'slug':slug.get()} return render(request,'display.html',context) +def redirect(request,slug_got): + slug = Slug.objects.filter(slug = slug_got).all() + if slug.count()!=1: + return render(request,'unknown.html',{'slug':slug_got}) + else: + return HttpResponseRedirect(slug.get().destination) +