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