Fix the logout to use a POST (introduced with Django 4.1)

Also add an handy command to clear Django cache
This commit is contained in:
2024-11-05 22:43:15 +01:00
parent 5b975355a1
commit 32785f321a
3 changed files with 20 additions and 2 deletions

View File

@@ -18,7 +18,12 @@
<li><a class="dropdown-item" href="{% url 'admin:index' %}">Admin</a></li>
<li><a class="dropdown-item" href="{% url 'admin:portal_siteconfiguration_changelist' %}">Site configuration</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item text-danger" href="{% url 'admin:logout' %}?next={{ request.path }}">Logout</a></li>
<li>
<form id="logout-form" method="post" action="{% url 'admin:logout' %}?next={{ request.path }}">
{% csrf_token %}
<button class="btn btn-link dropdown-item text-danger" type="submit">Log out</button>
</form>
</li>
</ul>
{% else %}
<a class="nav-link" href="{% url 'admin:login' %}?next={{ request.path }}">Log in</a>

View File

@@ -1,4 +1,4 @@
from ram.utils import git_suffix
__version__ = "0.13.3"
__version__ = "0.13.4"
__version__ += git_suffix(__file__)

View File

@@ -0,0 +1,13 @@
from django.core.cache import cache
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
help = "Clear the application cache"
def handle(self, *args, **options):
try:
cache.clear()
self.stdout.write(self.style.SUCCESS("Cache cleared"))
except Exception:
raise CommandError("Cache is not active")