now the template adapt depending of the data and tries ajax button without success
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s

This commit is contained in:
pierre geeraert
2026-03-31 00:25:56 +01:00
parent e9dad6bfe5
commit 27dff192f2
4 changed files with 66 additions and 67 deletions
+7 -2
View File
@@ -6,8 +6,13 @@ import psycopg2
from cloudmanager.db_interaction import DB_generation,Check_server_supposed_XXX,Give_current_weekday,Give_current_hour
def hello(request):
return render(request, 'index.html', {})
list_schedule = ['schedule1','schedule2']
list_servers_up = [['wiki', 'wikijs', 2], ['book', 'bookstack-db', 1]]
return render(request, 'index.html', {'list_schedule':list_schedule,'list_servers_up':list_servers_up})
def print(request):
print("Im here")
return 0
def redirect(request):
db_host = os.environ.get('DB_HOST')
db_port = os.environ.get('DB_PORT')
@@ -20,6 +25,6 @@ def redirect(request):
## Server(s) supposed to be UP
list_servers_up = Check_server_supposed_XXX(generated_db, "up", Give_current_hour(),Give_current_weekday())
print(list_servers_up)
return render(request, 'cmm_blank_page.html', {'list_servers_up':list_servers_up})
+46 -64
View File
@@ -218,78 +218,60 @@
<div class="row">
<div class="container">
<div class="wrapper-pricing">
<!-- Plan 1 -->
<div class="col-lg-3 col-md-3">
<div class="single-table wow fadeInRight" data-wow-duration="1s" data-wow-delay="300ms">
<h4>Starter</h4>
<div class="price-icon">
<i class="fa fa-paper-plane"></i>
</div>
<span class="price">$19/<small>m</small></span>
<ul>
<li>Up to 3 Users</li>
<li>Max 30 items</li>
<li>Unlimited QueriesFull </li>
<li>Statistics</li>
<li>Great Support</li>
</ul>
<a class="btn-price" href="#">Get This Plan</a>
</div>
</div>
{% block contentX %}
{% for server in list_servers_up %}
<!-- Plan 2 -->
<div class="col-lg-3 col-md-3">
<div class="single-table wow fadeInRight" data-wow-duration="1s" data-wow-delay="500ms">
<h4>Medium</h4>
<h4>{{ server.1 }}</h4>
<div class="price-icon">
<i class="fa fa-rocket"></i>
</div>
<span class="price">$69/<small>m</small></span>
<i class="fa fa-rocket"></i>
</div>
<span class="price">{{ server.2 }}</span>
<ul>
<li>Up to 5 Users</li>
<li>Max 50 items</li>
<li>Unlimited QueriesFull </li>
<li>Statistics</li>
<li>Great Support</li>
</ul>
<a class="btn-price" href="#">Get This Plan</a>
</div>
</div>
<!-- Plan 3 -->
<div class="col-lg-3 col-md-3 wow fadeInRight" data-wow-duration="1s" data-wow-delay="700ms">
<div class="single-table featured">
<h4>Business</h4>
<div class="price-icon">
<i class="fa fa-line-chart"></i>
</div>
<span class="price">$99/<small>m</small></span>
<ul>
<li>Up to 30 Users</li>
<li>Max 300 items</li>
<li>Unlimited QueriesFull </li>
<li>Statistics</li>
<li>Great Support</li>
</ul>
<a class="btn-price" href="#">Get This Plan</a>
</div>
</div>
<!-- Plan 4 -->
<div class="col-lg-3 col-md-3">
<div class="single-table wow fadeInRight" data-wow-duration="1s" data-wow-delay="900ms">
<h4>Professional</h4>
<div class="price-icon">
<i class="fa fa-road"></i>
</div>
<span class="price">$120/<small>m</small></span>
<ul>
<li>Up to 100 Users</li>
<li>Max 500 items</li>
<li>Unlimited QueriesFull </li>
<li>Statistics</li>
<li>Great Support</li>
</ul>
<li>Up to 5 Users</li>
<li>Max 50 items</li>
<li>Unlimited QueriesFull </li>
<li>Statistics</li>
<li>Great Support</li>
</ul>
<a class="btn-price" href="#">Get This Plan</a>
<!-- Triggers a POST request to '/run-my-module/' without reloading -->
<!-- When clicked, 'Run Module' changes to 'Done!' -->
<button hx-post="{% url 'run_my_action_url' %}"
hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
Run Module
</button>
<script>
function vote(kind) {
$.getJSON("/vote/", { pk:{ { object.pk }}, vote: kind }, function(json){
alert("Was successful?: " + json['success']);
});
}
function addClickHandlers() {
$("#upvote").click( function() { vote("up") });
$("#downvote").click( function() { vote("down") });
}
$(document).ready(addClickHandlers);
</script>
<div id="resultarea"></div>
<div id="status-message"></div>
<select class="btn-price" name="cars" id="cars">
{% for schedule in list_schedule %}
<tr>
<option value="{{ schedule }}">{{ schedule }}</option>
</tr>
{% endfor %}
</select>
</div>
</div>
{% endfor %}
{% endblock %}
<!-- Plan 2 -->
</div>
</div>
</div>
+9
View File
@@ -0,0 +1,9 @@
from django.http import HttpResponse
def trigger_my_action(request):
# 1. Run your Django module/function
result = "1"
print('here')
# 2. Return ONLY the HTML fragment you want to show on the page
# This will replace the content inside the "hx-target" div
return HttpResponse("Done!")
+4 -1
View File
@@ -17,7 +17,8 @@ Including another URLconf
from django.contrib import admin
from django.urls import path
from cloudmanager import (credentials,db_interaction)
from cloudmanager import apps as cloudmanager_apps
from cloudmanager import apps as cloudmanager_apps
from cloudmanager import views as cloudmanager_views
from random_simpsons import apps as random_simpsons
from paperless_django import apps as paperless_django
from onenote import apps as onenote
@@ -92,6 +93,8 @@ urlpatterns = [
################### cloudmanager ###################
path('cmm/', cloudmanager_apps.redirect),
path('cmm/hello', cloudmanager_apps.hello),
path('cmm/print', cloudmanager_apps.print),
path('cmm/run-action/', cloudmanager_views.trigger_my_action, name='run_my_action_url'),
path('cmm/main/', db_interaction.main),
]