0

我失败了 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。请你能说我哪里错了吗?谢谢。

4

1 回答 1

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)

于 2013-07-29T22:03:20.740 回答