[PYTHON] Der einfachste Weg, um Last-Modified in Flask einzurichten

Beispielcode, der json mit flask zurückgibt - uokadas Tagebuch

Ich habe es für eine Weile aus dem obigen Eintrag geöffnet, aber ich habe einen einfachen Weg gefunden, als ich mir Stack Overflow angesehen habe, also werde ich es vorstellen. http - RFC 1123 Date Representation in Python? - Stack Overflow

from wsgiref.handlers import format_date_time

Diese format_date_time Funktion ist der Punkt. Wenn Sie einen Zeitstempel übergeben, wird dieser formatiert und im RFC1123-Format ausgegeben.

Der Beispielcode sieht so aus.

#!/usr/bin/env  python2.7
from flask import Flask, jsonify, after_this_request
from wsgiref.handlers import format_date_time
from datetime import datetime
from time import mktime


app = Flask(__name__)

@app.route('/name/<name>.json')
def hello_world(name):
    greet = "Hello %s from flask!" % name
    result = {
        "Result":{
        "Greeting": greet
        }
    }
    @after_this_request
    def d_header(response):
        """ add header

        Arguments:
        - `response`:
        """
        now = datetime.now()
        stamp = mktime(now.timetuple())
        response.headers['Last-Modified'] = \
            format_date_time(stamp)
        return response
    return jsonify(ResultSet=result)

if __name__ == '__main__':
    app.run(debug=True)

Starten Sie das Skript und überprüfen Sie die von der Anwendung zurückgegebenen Header.

% curl -I localhost:5000/name/uokada.json
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 91
Last-Modified: Thu, 28 Feb 2013 17:47:20 GMT
Server: Werkzeug/0.8.3 Python/2.7.1
Date: Thu, 28 Feb 2013 17:47:20 GMT

Last-Modified wird ordnungsgemäß im RFC 1123-Format ausgegeben.

Ich habe diese Funktion überhaupt nicht bemerkt, weil sie in der japanischen Übersetzung nicht aufgeführt war. 20.4. Wsgiref - WSGI-Dienstprogramm und Referenzimplementierung - Python 2.7ja1-Dokumentation

Recommended Posts

Der einfachste Weg, um Last-Modified in Flask einzurichten
Der einfachste Weg, eine Flasche herzustellen
Der einfachste Weg, PyQtGraph auszuprobieren
Der einfachste Weg, um Stimme mit Python zu synthetisieren
Der einfachste Weg, OpenCV mit Python zu verwenden
So richten Sie die Authentifizierung mit öffentlichem Schlüssel mit ssh ein
Setzen Sie DateField des Formulars in Django auf type = date
Der einfachste Linienbot der Welt, um Gewicht zu verlieren
Richten Sie Nunjucks in Node.js ein
Definieren Sie eine Aufgabe zum Festlegen der Fabric-Umgebung in YAML
So importieren Sie die in EFS eingerichtete Python-Bibliothek in Lambda
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
So legen Sie das HTML-Klassenattribut in Djangos forms.py fest
Eine einfache Möglichkeit, die Amazon-Produkt-API in Python aufzurufen
Programmieren, um in der Welt zu kämpfen ~ 5-1
Programmierung, um in der Welt zu kämpfen ~ 5-5,5-6
So stellen Sie die Ausgabeauflösung für jeden Keyframe in Blender ein
Programmierung für den Kampf in der Welt - Kapitel 4
Im Python-Befehl zeigt Python auf Python3.8
Probieren Sie Cython in kürzester Zeit aus
Der schnellste Weg, EfficientNet auszuprobieren
So richten Sie die Entwicklungsumgebung von ev3dev ein [Windows-Version]
Programmieren, um in der Welt zu kämpfen ~ 5-2
Der einfachste Weg, um Chainer v1.5 + CUDA + cuDNN unter Windows zu erhalten
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
Was ist Jenkins? ] Die Installation und die Verwendung des automatischen Tests / der automatischen Bereitstellung werden auf einfachste Weise weltweit erklärt
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.
Ich werde Twitter Tweet Bot auf einfachste Weise in Japan unterrichten
Stellen Sie die Zeitzone auf japanische Standardzeit ein
So richten Sie SVM mit Optuna ein
So stellen Sie die Serverzeit auf japanische Zeit ein
So setzen Sie die Standardcodierung in Python auf utf-8
Ordnen Sie die in pythons models.py festgelegte Tabelle zu
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
Mindestkenntnisse zur Verwendung von Form with Flask
Fügen Sie in Jupyter IPerl zum Kernel hinzu.
Richten Sie Pipenv auf Pycharm in einer Windows-Umgebung ein
Verschiedene Kommentare im Programm zu schreiben
[Django-Memo] Ich möchte die angemeldeten Benutzerinformationen im Voraus im Formular festlegen.
[Django version up] Die Methode zum Konvertieren in einen String beim Speichern von TextFiled wurde geändert.
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich bin süchtig nach dem Unterschied, wie Flask und Django JSON-Daten empfangen
Erstellen Sie einen Filter, um ein Zugriffstoken mit der Graph-API (Flask) zu erhalten.
Erklären, wie LINE BOT auf einfachste Weise der Welt erstellt werden kann (2) [Vorbereiten der Bot-Anwendung in einer lokalen Umgebung mit Django of Python]
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Der schnellste Weg für Anfänger, um Python zu beherrschen
Mathematik-Memorandum, um mit dem Feld Nr. 4 Schritt zu halten
Versuchen Sie, Blueprint with Flask zu verwenden, um Controller zu trennen
So richten Sie eine zufällige Gesamtstruktur mit Optuna ein
So legen Sie den Browserstandort in Headless Chrome fest
Twitter-Streaming-Client zum Genießen im Terminal
Dynamisches Ersetzen der nächsten Methode in Python
Richten Sie einen Test-SMTP-Server in Python ein.
Zeichnen Sie Diagramme in Julia ... Überlassen Sie die Diagramme Python
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Richten Sie einen UDP-Server in der Sprache C ein