404ページを用意してみる

ページの無いURLが指定された場合に任意のページを表示させたい。そんな無駄なことを思ってみたので作成してみました。

1.app.yamlに手を入れる。
handlers:
- url: /
  script: main.py
- url: /.*
  script: err_.py

err_.pyがページの無いURLが指定された時に実行されるスクリプトになる。

2.次にerr_.pyを作成する。
class MainPage(webapp.RequestHandler):
  def get(self):
    template_values = {
      'log': 100,
      }
    path = os.path.join(os.path.dirname(__file__), 'err.html')
    self.response.out.write(template.render(path, template_values))

def main():
  application = webapp.WSGIApplication(
                                     [('/.*', MainPage)],
                                     debug=True)
  run_wsgi_app(application)

if __name__ == "__main__":
  main()

赤太字の部分にだけ気をつけて作成すれば、対応していないURLが指定されると err.html が呼び出されるようになるはず。






Comments