data work inside the view
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s

This commit is contained in:
pierre geeraert
2026-06-15 23:01:21 +01:00
parent 8c09ab3c6e
commit 8d52c43e68
5 changed files with 73 additions and 47 deletions
@@ -1,27 +0,0 @@
# Generated by Django 4.2.29 on 2026-06-11 19:50
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='SimpsonsData',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('season', models.IntegerField()),
('episode', models.IntegerField()),
('url', models.CharField(max_length=100)),
('seen', models.CharField(max_length=100)),
],
options={
'db_table': 'simpsons',
},
),
]
@@ -1,18 +0,0 @@
# Generated by Django 4.2.29 on 2026-06-11 20:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('simpsons', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='simpsonsdata',
name='seen',
field=models.BooleanField(),
),
]
+2 -2
View File
@@ -3,8 +3,8 @@ from django.db import models
class SimpsonsData(models.Model): class SimpsonsData(models.Model):
season = models.IntegerField() season = models.IntegerField()
episode = models.IntegerField() episode = models.IntegerField()
url = models.CharField(max_length=100) url = models.CharField(max_length=1000)
seen = models.BooleanField() seen = models.BooleanField()
class Meta: class Meta:
db_table = 'simpsons' db_table = 'episodes'
+69
View File
@@ -1,8 +1,77 @@
from django.shortcuts import render from django.shortcuts import render
import random
# Create your views here. # Create your views here.
from django.http import HttpResponse from django.http import HttpResponse
from django.db.models import Count
from django.shortcuts import render from django.shortcuts import render
from apps.random_simpsons.models import SimpsonsData
def hello(request): def hello(request):
return HttpResponse('<h1>Hello Django!</h1>') return HttpResponse('<h1>Hello Django!</h1>')
def random_episode(request):
simpsons_data_object = SimpsonsData.objects.using('simpsons_db')
maximum_number_of_seasons = SimpsonsData.objects.aggregate(unique_season=Count('season', distinct=True))['unique_season']
print("maximum_number_of_seasons: "+str(maximum_number_of_seasons))
random_seasons = random.randint(1, maximum_number_of_seasons)
print("random season: " + str(random_seasons))
print("--- START SIMPSONS LOG ---")
simpson_stuff = simpsons_data_object.filter(season=random_seasons)
for line in simpson_stuff:
print(line)
print("--- END SIMPSONS LOG ---")
# Keeps Django happy by returning a valid web response
return HttpResponse('Check your terminal log!')
def simpsons(request):
#dev settings
#generated_db = DB_generation("192.168.88.50",32345, "django_username", "Suffrage-Moneybags-Illusion7","django")
#production settings
generated_db = DB_generation("django-db-svc",5432, "django_username", "Suffrage-Moneybags-Illusion7","django")
cursor = generated_db.cursor()
#get max number of season
maximum_number_of_seasons = Launch_sql_query("SELECT COUNT(DISTINCT season) as result FROM episodes;",generated_db)
boolean_restart = True;
while (boolean_restart):
random_seasons = random.randint(1, maximum_number_of_seasons)
print("random season: " + str(random_seasons))
#get max number of epiosde for this season
maximum_number_of_episodes_query = "SELECT COUNT(url) as result FROM episodes WHERE season = " + str(random_seasons) + ";"
maximum_number_of_episodes = Launch_sql_query(maximum_number_of_episodes_query,generated_db)
random_episode = random.randint(1, maximum_number_of_episodes)
print("random episode: " + str(random_episode))
#check if the episode was already seen
check_if_already_seen_query = "select seen from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";"
if not Launch_sql_query(check_if_already_seen_query, generated_db):
boolean_restart = False
else:
print("episode "+str(random_episode)+" from season "+str(random_seasons)+" already seen")
url_from_episode_season_query = "select url from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";"
generated_url = Launch_sql_query(url_from_episode_season_query,generated_db)
#mark as seen
url_from_episode_season_query = "update episodes set seen = True where season=" + str(random_seasons) + " and episode = " + str(random_episode) + ";"
Launch_sql_query(url_from_episode_season_query, generated_db)
generated_db.commit()
generated_db.close()
#return HttpResponse(str(generated_url))
return redirect(str(generated_url))
+2
View File
@@ -20,6 +20,7 @@ from django.urls import path
from apps.cloudmanager import apps as cloudmanager_apps from apps.cloudmanager import apps as cloudmanager_apps
from apps.cloudmanager import views as cloudmanager_views from apps.cloudmanager import views as cloudmanager_views
from apps.random_simpsons import apps as random_simpsons from apps.random_simpsons import apps as random_simpsons
from apps.random_simpsons import views as random_simpsons_view
from apps.dashboard import apps as dashboardapp from apps.dashboard import apps as dashboardapp
from apps.dashboard import views as dashboardview from apps.dashboard import views as dashboardview
from apps.kubernetes_connection import apps as kubernetes_connection from apps.kubernetes_connection import apps as kubernetes_connection
@@ -35,6 +36,7 @@ urlpatterns = [
path('hello/', random_simpsons.hello), path('hello/', random_simpsons.hello),
path('simpsons/', random_simpsons.simpsons), path('simpsons/', random_simpsons.simpsons),
path('download_file/', random_simpsons.download_file), path('download_file/', random_simpsons.download_file),
path('print/', random_simpsons_view.random_episode),
################### Redirect ################### ################### Redirect ###################
path('redirect/hello/', website_redirectionapp.hello), path('redirect/hello/', website_redirectionapp.hello),