Google Appengine路由失败

时间:2013-07-29 21:48:26

标签: python google-app-engine

我的webapp2路由失败了。

我的模特:

class Letter(ndb.Model):
    letter = ndb.StringProperty(indexed=False)

我的经纪人:

lass GoLetter(webapp2.RequestHandler):

    def get(self, letter_letter):
       pass

       template = JINJA_ENVIRONMENT.get_template('detail.html')
       self.response.write(template.render())



application = webapp2.WSGIApplication([
   webapp2.Route('/', MainPage),
   webapp2.Route('/letter/([-\w]+)', handler=GoLetter),
], debug=True)

和我的模板:

 {% for letter in letters %}
     <a href="/letter/?letter_letter={{ letter.letter }}">{{ letter.letter }}</a>
    {% endfor %}

我只找到404 Not Found。 请你能说我哪里错了?感谢。

1 个答案:

答案 0 :(得分:3)

因此,模板中的链接具有与为应用程序定义的路径不同的形式。

您已定义终端为/letter/([-\w]+),但您的链接转到/letter/?letter_letter=a

替换链接
<a href="/letter/{{ letter.letter }}">{{ letter.letter }}</a>

修改 由于某些原因,有webapp2.Route使事情无法正常工作。将webapp2.Route('/letter/([-\w]+)', handler=GoLetter)替换为('/letter/([-\w]+)', GoLetter)