[PYTHON] So löschen Sie abgelaufene Sitzungen in Django

Abgelaufene Sitzungen mit Django löschen: erröten:

Sitzungen werden in Django standardmäßig in der Datenbank gespeichert. Wenn Sie es in Ruhe lassen, erhöht sich die Anzahl der abgelaufenen Sitzungen Ich möchte Ihnen zeigen, wie Sie es löschen können.

Versuchte Umgebung

Django 3.0.5 Python 3.8.2

Bestätigung der Spezifikationen

Wenn Sie die Spezifikationen überprüfen, wird die empfohlene Methode geschrieben. Clearing the session store

Django does not provide automatic purging of expired sessions. Therefore, it’s your job to purge expired sessions on a regular basis. Django provides a clean-up management command for this purpose: clearsessions.

Es ist Ihre Aufgabe, regelmäßig aufzuräumen, da es nicht automatisch aufräumt. Aber es fühlt sich an, als hätte ich einen Befehl.

Anscheinend gibt es einen Befehl namens Clearsessions.

So löschen Sie

Gehen Sie einfach in das Verzeichnis, in dem sich manage.py befindet, und geben Sie den folgenden Befehl ein.

$ python manage.py clearsessions

Dies scheint ** nur abgelaufene Sitzungen ** aus der Datenbank zu entfernen.

Bestätigung

DB-Tabellenprüfung

Sie können die Sitzung in der Tabelle ** django_session ** sehen. Enthält derzeit ** 2 ** Daten.

sqlite> select session_key, expire_date from django_session;
3dub24wutcq28y7lhgnfl2rasoy37646|2020-07-11 19:20:40
g7s29wnv45boguo5np33yroq61t4v9c2|2020-07-25 13:50:10

expire_date ist 2020-07-11 und 2020-07-25.

Mit Befehl löschen

Überprüfen Sie das aktuelle Datum und löschen Sie die Sitzung.

$ date
Sonntag, 12. Juli 2020 23:00:36
$ python manage.py clearsessions

Lassen Sie uns die Tabelle überprüfen.

sqlite> select session_key, expire_date from django_session;
g7s29wnv45boguo5np33yroq61t4v9c2|2020-07-25 13:50:10

Es gibt nur ** 1 ** Fälle. Am 2020-7-12 23:00:36 ist die Sitzung 2020-07-11 abgelaufen und wurde gelöscht.

Für Ihre Information

Lassen Sie uns den Quellcode des Befehls überprüfen. Quelle der Clearsessions

class SessionStore(SessionBase):
...
    @classmethod
    def clear_expired(cls):
        cls.get_model_class().objects.filter(expire_date__lt=timezone.now()).delete()

expire_date < timezone.now() Sie können sehen, dass die Daten vor der aktuellen Zeit als Ziel ausgewählt werden.

Referenzierte Site

https://stackoverflow.com/questions/7296159/django-session-database-table-cleanup

Recommended Posts

So löschen Sie abgelaufene Sitzungen in Django
Wie man CSS in Django reflektiert
So führen Sie vom Server gesendete Ereignisse in Django durch
So implementieren Sie Rails-Helfer-ähnliche Funktionen in Django
So reflektieren Sie ImageField in Django + Docker (Kissen)
So erstellen Sie eine Rest-API in Django
So erhalten Sie mehrere Modellobjekte zufällig in Django
Verwendung von Bootstrap in der generischen Klassenansicht von Django
Hochladen von Dateien in der generischen Klassenansicht von Django
Wie man Decorator in Django benutzt und wie man es macht
Wie man in Python entwickelt
So verweisen Sie auf statische Dateien in einem Django-Projekt
Wie lösche ich mit SQLAlchemy?
So schreiben Sie eine benutzerdefinierte Validierung in Django REST Framework
Verwendung von Laravel-ähnlichem ORM / Query Builder Orator mit Django
So überprüfen Sie das Verhalten von ORM mit einer Datei mit django
So aktualisieren Sie Benutzerinformationen bei der Django RemoteUserMiddleware-Anmeldung
[Django] Wie man Eingabewerte im Voraus mit ModelForm angibt
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Wie man in Django die angezeigte lange Zeichenkette in der Mitte abkürzt ....
[Python] Wie man PCA mit Python macht
Umgang mit Sitzungen in SQLAlchemy
[Django] So testen Sie Form [TDD]
Wie man nüchtern mit Pandas schreibt
Fehler im Zusammenhang mit Memcached in Django
So aktualisieren Sie Spyder in Anaconda
Verwendung von SQLite in Python
So konvertieren Sie 0,5 in 1056964608 auf einmal
So erstellen / löschen Sie symbolische Links
Wie fange ich mit Django an?
Wie man Prozesse in großen Mengen abbricht
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
So löschen Sie einen Docker-Container
Wie schreibe ich Django1.9 umweltunabhängig wsgi.py
So führen Sie TensorFlow 1.0-Code in 2.0 aus
Umgang mit Japanisch mit Python
So melden Sie sich bei Docker + NGINX an
So rufen Sie PyTorch in Julia an
[Django] Lesen von Variablen / Konstanten, die in einer externen Datei definiert sind
So stellen Sie eine Django-App in nur 5 Minuten für Heroku bereit
So löschen Sie mehrere angegebene Positionen (Indizes) in einer Python-Liste
So führen Sie eine arithmetische Verarbeitung mit der Django-Vorlage durch
Verwendung berechneter Spalten in CASTable
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
So überprüfen Sie die Version von Django
So konvertieren Sie csv in tsv in CLI
[Itertools.permutations] So löschen Sie eine Sequenz in Python
Verwendung von Google Test in C-Sprache
So implementieren Sie einen verschachtelten Serializer mit drf-flex-Feldern
So arbeiten Sie mit BigQuery in Python
So führen Sie Befehle mit einem Jupyter-Notebook aus
Wie man in GitPython '--gags fetch --tags' macht