Verwenden Sie eine benutzerdefinierte Fehlerseite mit Python / Tornado

Ich habe mich beim Umgang mit benutzerdefinierten Fehlerseiten in Python / Tornado ein wenig festgefahren, also habe ich es zusammengefasst.

# -*- coding: utf-8 -*-
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    # self.write_Fehler überschreiben
    def write_error(self, status_code, exc_info=None, **kwargs):
        self.set_header('Content-Type', 'text/html; charset="utf-8"') #Inhalt entsprechend-Typ deklarieren(optional)
        if status_code == 503:
            #Sie können es direkt schreiben
            self.finish('<h1>503 Service Temporarily Unavailable</h1>')
        elif status_code == 404:
            #Sie können eine Vorlage separat vorbereiten
            self.render('/path/to/templates_dir/404.html',
                #Übergeben Sie die Variable, die in die Vorlage eingebettet werden soll, als Schlüsselwortargument
                message = 'hogehoge'
            )
        #Unterlassung...

    def get(self):
        #Unterlassung...

application = tornado.web.Application([
    #Unterlassung...
])

if __name__ == "__main__":
    application.listen(port=8080)
    tornado.ioloop.IOLoop.instance().start()

Zusammenfassung

Recommended Posts

Verwenden Sie eine benutzerdefinierte Fehlerseite mit Python / Tornado
Verwenden Sie print in Python2 lambda expression
Verwenden Sie Datumsangaben in Python
Verwenden Sie Valgrind mit Python
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Benutzerdefinierte Sortierung in Python3
Verwenden Sie den Profiler in Python
Wenn in Python ein "Unicode-Dekodierungsfehler" auftritt
Mal sehen, wie def in Python verwendet wird
Machen Sie einen Screenshot in Python
Verwenden Sie den let-Ausdruck in Python
Verwenden Sie das Messprotokoll mit Python
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Verwenden Sie die Rückruffunktion in Python
Verwenden Sie den Parameterspeicher in Python
[Python] Verwenden Sie eine Zeichenfolgenfolge
Verwenden Sie den HTTP-Cache in Python
Verwenden Sie in Python ein Diktat mit Listenschlüssel
Verwenden Sie Random Forest mit Python
Verwenden Sie Spyder von Python IDE
Erstellen Sie ein Lesezeichen in Python
Zeichne ein Herz in Python
Verwendung der Methode __call__ in der Python-Klasse
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)
Verwenden Sie Stoff wie in Python (Stoff3)
Erstellen Sie einen DI-Container mit Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Erstellen Sie eine Binärdatei in Python
Verwenden Sie rospy mit virtualenv in Python3
Verwenden Sie Blender als Python-Modul
Löse ABC036 A ~ C mit Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Wie man MySQL mit Python benutzt
Verwenden Sie Python in pyenv mit NeoVim
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Implementierung eines einfachen Algorithmus in Python 2
Verwenden Sie OpenCV mit Python 3 in Window
Löse ABC037 A ~ C mit Python
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Beim Schreiben eines Programms in Python
Verwenden Sie einen benutzerdefinierten Kernel mit WSL2
Benutzerdefiniertes Zustandsraummodell in Python
IQ Bot Custom Logic (Python): Optimieren Sie die Ersetzungsverarbeitung in einer Schleife
Verwenden Sie networkx, eine Bibliothek, die Diagramme in Python verarbeitet (Teil 2: Lernprogramm).
IQ Bot Custom Logic (Python): Effizienter Ersetzungsprozess in einer Schleife