[PYTHON] Le moyen le plus simple de configurer Last-Modified dans Flask

Exemple de code qui renvoie json avec flask - le journal deuokada

Je l'ai ouvert pendant un moment à partir de l'entrée ci-dessus, mais j'ai trouvé un moyen facile en regardant Stack Overflow, donc je vais le présenter. http - RFC 1123 Date Representation in Python? - Stack Overflow

from wsgiref.handlers import format_date_time

Cette fonction format_date_time est le point. Si vous lui transmettez un horodatage, il sera formaté et émis au format RFC1123.

L'exemple de code ressemble à ceci.

#!/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)

Lancez le script et vérifiez les en-têtes renvoyés par l'application.

% 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 est correctement émis au format RFC 1123.

Je n'ai pas remarqué du tout cette fonction car elle n'était pas répertoriée dans la traduction japonaise. 20.4. Wsgiref - Utilitaire WSGI et implémentation de référence - Documentation Python 2.7ja1

Recommended Posts

Le moyen le plus simple de configurer Last-Modified dans Flask
La façon la plus simple de faire un flacon
La façon la plus simple d'essayer PyQtGraph
Le moyen le plus simple de synthétiser la voix avec python
Le moyen le plus simple d'utiliser OpenCV avec python
Comment configurer l'authentification par clé publique avec SSH
Définissez DateField du formulaire sur type = date dans Django
Le robot en ligne le plus simple au monde pour perdre du poids
Configurer Nunjucks dans Node.js
Définir une tâche pour définir l'environnement de fabric dans YAML
Comment importer la bibliothèque Python configurée dans EFS dans Lambda
Probablement le moyen le plus simple de créer un pdf avec Python 3
Comment définir l'attribut de classe html dans le formulaire forms.py de Django
Un moyen simple d'accéder à l'API produit Amazon en Python
Programmation pour combattre dans le monde ~ 5-1
Programmation pour combattre dans le monde ~ 5-5,5-6
Comment définir la résolution de sortie pour chaque image clé dans Blender
Programmation pour combattre dans le monde - Chapitre 4
Dans la commande python, python pointe vers python3.8
Essayez Cython dans les plus brefs délais
Le moyen le plus rapide d'essayer EfficientNet
Comment configurer l'environnement de développement d'ev3dev [version Windows]
Programmation pour combattre dans le monde ~ 5-2
Le moyen le plus simple d'obtenir Chainer v1.5 + CUDA + cuDNN sous Windows
Comment afficher les octets de la même manière en Java et Python
Qu'est-ce que Jenkins? ] Installation-comment utiliser-test automatique / déploiement automatique sera expliqué de la manière la plus simple au monde
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
J'enseignerai le bot Twitter de la manière la plus simple au Japon
Définir le fuseau horaire sur l'heure standard japonaise
Comment configurer SVM à l'aide d'Optuna
Comment régler l'heure du serveur sur l'heure japonaise
Pour définir le codage par défaut sur utf-8 en python
Associez l'ensemble de tables dans les modèles de python.py
Un moyen simple d'utiliser Wikipedia avec Python
Connaissances minimales pour utiliser Form avec Flask
Dans Jupyter, ajoutez IPerl au noyau.
Configurer Pipenv sur Pycharm dans un environnement Windows
Divers commentaires à écrire dans le programme
[Django memo] Je souhaite définir à l'avance les informations de l'utilisateur connecté dans le formulaire.
[Django version up] La méthode de conversion en chaîne lors de l'enregistrement de TextFiled a changé.
Je souhaite définir un cycle de vie dans la définition de tâche d'ECS
Je suis accro à la différence dans la façon dont Flask et Django reçoivent les données JSON
Créez un filtre pour obtenir un jeton d'accès avec l'API Graph (Flask)
L'explication la plus simple au monde sur la création de LINE BOT (2) [Préparation de l'application Bot dans un environnement local avec Django de Python]
Configurer un serveur HTTPS simple avec Python 3
Le moyen le plus rapide pour les débutants de maîtriser Python
Mémorandum de mathématiques pour suivre le domaine # 4
Essayez d'utiliser Blueprint avec Flask pour séparer les contrôleurs
Comment configurer une forêt aléatoire à l'aide d'Optuna
Comment définir l'emplacement du navigateur dans Headless Chrome
Client de streaming Twitter à apprécier dans le terminal
Pour remplacer dynamiquement la méthode suivante en python
Configurez un serveur SMTP de test en Python.
Dessinez des graphiques dans Julia ... Laissez les graphiques à Python
Une manière intelligente de chronométrer le traitement avec Python
Configurer un serveur UDP en langage C