0

更新: 文と共に表示されるエラー メッセージは 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 %}
4

1 に答える 1

0

私の問題はdef get(、データストア モデルを使用せずにこれを実行しようとしていて、def get(. def get(という名前のデータストア モデルを使用するを定義しました。Transこれは、私の文に含まれるトランザクション情報を という名前の変数に格納しますreason

class Trans(db.Model):
    reason = db.StringProperty()

名前が付けられた私のモデルはUnexpected次のようになります。

class Unexpected(BaseHandler):

    def get(self):
    trans=Trans.get_by_key_name('reason')
    template_values = {'trans':trans}
        path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
        self.response.out.write(template.render(path, template_values))

そして、私のpythonコードは次のとおりです。

reason='That Notebook name is taken already.'
    trans = Trans(key_name='reason')
    trans.reason=reason
    trans.put()
    template_values = {'trans':trans}
    path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
    self.response.out.write(template.render(path, template_values))

私のunexpected.htmlコードは次のとおりです。

{% extends "base.html" %}
{% block content %}
This unexpected result occurred: <emph style="font-weight: bold">{{ trans.reason }}</emph>
<br /><br />
<label>Click the "Ok" button and to go back to the previous page so you can edit your entry .
</label>
<form action="" method="post">
<input type="hidden" name="reason" value=""></input><br />
  <input type="submit" value="Ok"/>
</form>
{% endblock content %}
于 2012-08-07T16:26:42.407 に答える