使用Mako模板在Google App Engine中搜索表单

时间:2010-10-16 21:20:29

标签: google-cloud-datastore mako

脚本位于data.py中,模板文件位于search.mako中。搜索表单是MainPage方法(不包括在下面的代码中)。我输入搜索词但没有任何反应。你能帮我理解我做错了什么吗?谢谢。

class Pet(db.Model):
    name = db.StringProperty()

class Search(webapp.RequestHandler):
    def post(self):
        query = Pet.all()
        results = self.request.get('searchquery')
        q = query.filter('name =', 'results')

        template_values = {'q': q,}

        path = os.path.join(os.path.dirname(__file__), 'search.mako')
        templ = Template(filename=path)
        self.response.out.write(templ.render(**template_values))

这是search.mako

<html>
<body>

% for cat in q:
  <p>${cat.name}</p>
% endfor  

</html>
</body>

1 个答案:

答案 0 :(得分:1)

添加fetch()修复了问题:

class Search(webapp.RequestHandler):
    def post(self):
        query = Pet.all()
        q = query.filter('name =', self.request.get('searchquery')).fetch(10)