更新: 文と共に表示されるエラー メッセージは 404 リソースが見つかりません。
"GET /unexpected/The%20Notebook%20name%20is%20taken%20already HTTP/1.1" 404 -
そのエラーが発生したときの URL は次のようになります。
http://localhost:8088/unexpected/The%20Notebook%20name%20is%20taken%20already
アプリケーションのユーザー エラーに対して一種の「アラート」システムを作成しようとしていますが、うまくいきません。単語間のスペースが問題のようです。しかし、これを行うためのシンプルでエレガントな方法が必要です。
以下の 2 行のうち、上の行は機能しますが、下の行は機能しません。
return webapp2.redirect("/unexpected/%s" % 'Hello')
# return webapp2.redirect("/unexpected/%s" % 'The Notebook name is taken already')
対応する定義は次のとおりです。ここでは、コメントアウトされた行が機能することを望んでいましたが、機能しません。
class Unexpected(BaseHandler):
def get(self, reason):
template_values = {'reason':reason}
path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
self.response.out.write(template.render(path, template_values))
# return webapp2.redirect('/unexpected/%s/ % reason')
app = webapp2.WSGIApplication([
('/', MainPage),
('/unexpected/([\w]+)', Unexpected)])
ページに送信されたメッセージを取得するにはどうすればよいunexpected.html
ですか? 以前に javascript Alerts でこれを行ったことがありますが、ここでは javascript を使用しないようにしています。
{% extends "base.html" %}
{% block content %}
This unexpected result occurred: {{ reason }}
<br >
Click the back button and edit your entry.
{% endblock content %}