From 12253f06219e50d16942ddd03996532221c2d8fc Mon Sep 17 00:00:00 2001 From: pierre geeraert Date: Mon, 8 Dec 2025 23:00:46 +0000 Subject: [PATCH 1/6] try to work on the redirection --- django_code/django_code/settings.py | 2 +- django_code/django_code/urls.py | 10 +- django_code/stash_management/apps.py | 2 +- django_code/website_redirection/__init__.py | 0 django_code/website_redirection/admin.py | 3 + django_code/website_redirection/apps.py | 32 ++ django_code/website_redirection/models.py | 3 + .../templates/redirect_form.html | 282 ++++++++++++++++++ django_code/website_redirection/tests.py | 3 + django_code/website_redirection/views.py | 8 + 10 files changed, 342 insertions(+), 3 deletions(-) create mode 100644 django_code/website_redirection/__init__.py create mode 100644 django_code/website_redirection/admin.py create mode 100644 django_code/website_redirection/apps.py create mode 100644 django_code/website_redirection/models.py create mode 100644 django_code/website_redirection/templates/redirect_form.html create mode 100644 django_code/website_redirection/tests.py create mode 100644 django_code/website_redirection/views.py diff --git a/django_code/django_code/settings.py b/django_code/django_code/settings.py index d4a47a7..1f3e16a 100644 --- a/django_code/django_code/settings.py +++ b/django_code/django_code/settings.py @@ -56,7 +56,7 @@ TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', #'DIRS': ["/code/django_code/templates","/code/django_code/dashboard/templates/"], - 'DIRS': [BASE_DIR / "templates","django_code/dashboard/templates/","django_code/stash_management/templates"], + 'DIRS': [BASE_DIR / "templates","django_code/dashboard/templates/","django_code/stash_management/templates","django_code/website_redirection/templates"], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ diff --git a/django_code/django_code/urls.py b/django_code/django_code/urls.py index 9213d3b..3f56e22 100644 --- a/django_code/django_code/urls.py +++ b/django_code/django_code/urls.py @@ -25,6 +25,7 @@ from dashboard import views as dashboardview from kubernetes_connection import apps as kubernetes_connection from stash_management import apps as stashapp from stash_management import views as stashview +from website_redirection import apps as website_redirectionapp urlpatterns = [ # path('admin/', admin.site.urls), @@ -34,7 +35,14 @@ urlpatterns = [ path('simpsons/', random_simpsons.simpsons), path('download_file/', random_simpsons.download_file), -################### paperless ################### +################### Redirect ################### + path('redirect/hello/', website_redirectionapp.hello), + path('redirect/set/', website_redirectionapp.redirect), + path('redirect/get/', website_redirectionapp.display_key), + path('redirect/redirect-form/', website_redirectionapp.redirect_process, name='submit_form'), + + + ################### paperless ################### path('paperless/hello/', paperless_django.hello), # path('simpsons/', random_simpsons.simpsons), diff --git a/django_code/stash_management/apps.py b/django_code/stash_management/apps.py index 8d3f2b9..74d430d 100644 --- a/django_code/stash_management/apps.py +++ b/django_code/stash_management/apps.py @@ -176,7 +176,7 @@ def redgif_donloader(username): # copy as curl and you got the bearer #curl curl 'https://api.redgifs.com/v2/users/princesspizookie/search?order=new&count=40&type=g' - #and you get the URLS , needs to be parsed + #and you get the URLS , needs to be parsedw return 0 def incremental(request): return render(request, 'incremental_form.html',{}) diff --git a/django_code/website_redirection/__init__.py b/django_code/website_redirection/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/django_code/website_redirection/admin.py b/django_code/website_redirection/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/django_code/website_redirection/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/django_code/website_redirection/apps.py b/django_code/website_redirection/apps.py new file mode 100644 index 0000000..7133150 --- /dev/null +++ b/django_code/website_redirection/apps.py @@ -0,0 +1,32 @@ +import redis +from django.http import HttpResponse + +r = redis.Redis( + host='django-redis-svc', + port=6379, + db=0 # The default Redis database index +) + +def hello(request): + return HttpResponse('

Hello redirect!

') + + +def redirect(request): + return render(request, 'redirect_form.html',{}) + + +def redirect_process(request): + key = request.GET.get('key') + value = request.GET.get('value') + + r.set(key, value) + + text_generated = "successfully set "+value+" to "+key + return HttpResponse(text_generated, content_type="text/plain") + +def display_key(key): + value = r.get(key) + value_extracted = str(value.decode()) + text_generated = key+" is set to "+value_extracted + return HttpResponse(text_generated, content_type="text/plain") + \ No newline at end of file diff --git a/django_code/website_redirection/models.py b/django_code/website_redirection/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/django_code/website_redirection/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/django_code/website_redirection/templates/redirect_form.html b/django_code/website_redirection/templates/redirect_form.html new file mode 100644 index 0000000..645bb39 --- /dev/null +++ b/django_code/website_redirection/templates/redirect_form.html @@ -0,0 +1,282 @@ + + + + + + Stash form + + + + + + + +
+
+
+
+

Stash Form

+

Download form

+
+
+ +
+ +
+
+ +
+ + +
+
+
+
+ diff --git a/django_code/website_redirection/tests.py b/django_code/website_redirection/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/django_code/website_redirection/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/django_code/website_redirection/views.py b/django_code/website_redirection/views.py new file mode 100644 index 0000000..dcf84f6 --- /dev/null +++ b/django_code/website_redirection/views.py @@ -0,0 +1,8 @@ +from django.shortcuts import render + +# Create your views here. +from django.http import HttpResponse +from django.shortcuts import render + +def hello(request): + return HttpResponse('

Hello Django!

') From 4da34c98f3f600248d20772d18bb66ea97e6ab4c Mon Sep 17 00:00:00 2001 From: pierre geeraert Date: Mon, 8 Dec 2025 23:05:49 +0000 Subject: [PATCH 2/6] forgot dependencies --- django_code/website_redirection/apps.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/django_code/website_redirection/apps.py b/django_code/website_redirection/apps.py index 7133150..2a46224 100644 --- a/django_code/website_redirection/apps.py +++ b/django_code/website_redirection/apps.py @@ -1,5 +1,7 @@ import redis from django.http import HttpResponse +from django.shortcuts import render +from django.shortcuts import redirect r = redis.Redis( host='django-redis-svc', From be03af61eaa60490bad2cd04b0e35016e5be882c Mon Sep 17 00:00:00 2001 From: pierre geeraert Date: Mon, 8 Dec 2025 23:14:34 +0000 Subject: [PATCH 3/6] prepare new function --- django_code/django_code/urls.py | 1 + django_code/website_redirection/apps.py | 13 +++++++++---- .../templates/redirect_form.html | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/django_code/django_code/urls.py b/django_code/django_code/urls.py index 3f56e22..bf24ccf 100644 --- a/django_code/django_code/urls.py +++ b/django_code/django_code/urls.py @@ -39,6 +39,7 @@ urlpatterns = [ path('redirect/hello/', website_redirectionapp.hello), path('redirect/set/', website_redirectionapp.redirect), path('redirect/get/', website_redirectionapp.display_key), + path('redirect/go/', website_redirectionapp.redirect_to_key), path('redirect/redirect-form/', website_redirectionapp.redirect_process, name='submit_form'), diff --git a/django_code/website_redirection/apps.py b/django_code/website_redirection/apps.py index 2a46224..bfe4e46 100644 --- a/django_code/website_redirection/apps.py +++ b/django_code/website_redirection/apps.py @@ -26,9 +26,14 @@ def redirect_process(request): text_generated = "successfully set "+value+" to "+key return HttpResponse(text_generated, content_type="text/plain") -def display_key(key): - value = r.get(key) +def display_key(input_key): + value = r.get(input_key) value_extracted = str(value.decode()) - text_generated = key+" is set to "+value_extracted + text_generated = input_key+" is set to "+value_extracted return HttpResponse(text_generated, content_type="text/plain") - \ No newline at end of file + + +def redirect_to_key(redirect_to_key_key): + value = r.get(redirect_to_key_key) + value_extracted = str(value.decode()) + return redirect(str(value_extracted)) \ No newline at end of file diff --git a/django_code/website_redirection/templates/redirect_form.html b/django_code/website_redirection/templates/redirect_form.html index 645bb39..9c24850 100644 --- a/django_code/website_redirection/templates/redirect_form.html +++ b/django_code/website_redirection/templates/redirect_form.html @@ -256,7 +256,7 @@
-

Stash Form

+

Redirect Form

Download form

From 94a8240ad437f6adfb33200a76c103ea06d30caa Mon Sep 17 00:00:00 2001 From: pierre geeraert Date: Mon, 8 Dec 2025 23:22:27 +0000 Subject: [PATCH 4/6] In Django, the part of your URL pattern is designed to capture a value from the URL (e.g., if someone visits /redirect/go/xyz123) and pass it to the view function as a keyword argument named key. --- django_code/website_redirection/apps.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/django_code/website_redirection/apps.py b/django_code/website_redirection/apps.py index bfe4e46..7ad8734 100644 --- a/django_code/website_redirection/apps.py +++ b/django_code/website_redirection/apps.py @@ -26,14 +26,14 @@ def redirect_process(request): text_generated = "successfully set "+value+" to "+key return HttpResponse(text_generated, content_type="text/plain") -def display_key(input_key): - value = r.get(input_key) +def display_key(request,key): + value = r.get(key) value_extracted = str(value.decode()) - text_generated = input_key+" is set to "+value_extracted + text_generated = key+" is set to "+value_extracted return HttpResponse(text_generated, content_type="text/plain") -def redirect_to_key(redirect_to_key_key): - value = r.get(redirect_to_key_key) +def redirect_to_key(request,key): + value = r.get(key) value_extracted = str(value.decode()) return redirect(str(value_extracted)) \ No newline at end of file From bd4e4aed271a382ef3347e62f8d08ea97019b3fb Mon Sep 17 00:00:00 2001 From: pierre geeraert Date: Mon, 8 Dec 2025 23:34:41 +0000 Subject: [PATCH 5/6] try to debug it --- django_code/website_redirection/apps.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/django_code/website_redirection/apps.py b/django_code/website_redirection/apps.py index 7ad8734..7c33736 100644 --- a/django_code/website_redirection/apps.py +++ b/django_code/website_redirection/apps.py @@ -35,5 +35,7 @@ def display_key(request,key): def redirect_to_key(request,key): value = r.get(key) + print(value) value_extracted = str(value.decode()) + print(value_extracted) return redirect(str(value_extracted)) \ No newline at end of file From 2fdaaa47ab2ec37a42fd6eb817fbd0574b9a7881 Mon Sep 17 00:00:00 2001 From: pierre geeraert Date: Mon, 8 Dec 2025 23:44:06 +0000 Subject: [PATCH 6/6] f you are just trying to redirect to an absolute URL stored in Redis, your code should work provided the string is clean. A robust way to ensure it's treated as a simple URL might involve using Django's HttpResponseRedirect directly instead of the redirect shortcut: --- django_code/website_redirection/apps.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/django_code/website_redirection/apps.py b/django_code/website_redirection/apps.py index 7c33736..ccbc808 100644 --- a/django_code/website_redirection/apps.py +++ b/django_code/website_redirection/apps.py @@ -1,7 +1,7 @@ import redis from django.http import HttpResponse +from django.http import HttpResponseRedirect from django.shortcuts import render -from django.shortcuts import redirect r = redis.Redis( host='django-redis-svc', @@ -36,6 +36,6 @@ def display_key(request,key): def redirect_to_key(request,key): value = r.get(key) print(value) - value_extracted = str(value.decode()) + value_extracted = str(value.decode('utf-8')) print(value_extracted) - return redirect(str(value_extracted)) \ No newline at end of file + return HttpResponseRedirect(value_extracted) \ No newline at end of file