2010-10-16 4 views
0

Le script est dans data.py et le fichier modèle est search.mako. Le formulaire de recherche est dans la méthode MainPage (non inclus dans le code ci-dessous). J'entre le terme de recherche, mais rien ne se passe. Pouvez-vous aider à comprendre ce que je fais mal? Je vous remercie.Formulaire de recherche dans Google App Engine avec modèle Mako

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)) 

Et c'est le search.mako

<html> 
<body> 

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

</html> 
</body> 

Répondre

1

Ajout fetch() a résolu le problème:

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