2010-12-07 23 views
1

Je cherche comment valider sur Google App Engine et je n'ai trouvé que la manière de le faire en utilisant le framework Django. Ok L'approche de Django est correcte mais si j'ai un formulaire et que ce formulaire contient des données de quelques tables, alors ??? Je ne peux pas le faire comme ceci:Google App Engine + Validation

class Item(db.Model): 
    name = db.StringProperty() 
    quantity = db.IntegerProperty(default=1) 
    target_price = db.FloatProperty() 
    priority = db.StringProperty(default='Medium',choices=[ 
     'High', 'Medium', 'Low']) 
    entry_time = db.DateTimeProperty(auto_now_add=True) 
    added_by = db.UserProperty() 

class ItemForm(djangoforms.ModelForm): 
    class Meta: 
     model = Item 
     exclude = ['added_by'] 

class MainPage(webapp.RequestHandler): 
    def get(self): 
     self.response.out.write('<html><body>' 
           '<form method="POST" ' 
           'action="/">' 
           '<table>') 
     # This generates our shopping list form and writes it in the response 
     self.response.out.write(ItemForm()) 
     self.response.out.write('</table>' 
           '<input type="submit">' 
           '</form></body></html>') 
    def post(self): 
     data = ItemForm(data=self.request.POST) 
     if data.is_valid(): 
      # Save the data, and redirect to the view page 
      entity = data.save(commit=False) 
      entity.added_by = users.get_current_user() 
      entity.put() 
      self.redirect('/items.html') 
     else: 
      # Reprint the form 
      self.response.out.write('<html><body>' 
            '<form method="POST" ' 
            'action="/">' 
            '<table>') 
      self.response.out.write(data) 
      self.response.out.write('</table>' 
            '<input type="submit">' 
            '</form></body></html>') 

Est-ce un moyen facile de valider le formulaire qui contiennent des données de quelques tables ou je dois coder seul?

Répondre

1

On dirait que vous utilisez webapp; Je vous suggère de regarder d'autres choix «légers» pour la validation des formulaires. Choisissez celui que vous aimez la mise en page/syntaxe de. Vous serez en mesure de définir des relations complexes «imbriquées» si nécessaire.

0

WTForms a une composante GAE WTForms

WTForms inclut maintenant le support pour les champs de AppEngine ainsi que la génération de forme automatique. La classe de formulaire peut être utilisée telle quelle ou servir de base à des classes de formulaire étendues, qui peuvent ensuite combiner des champs non liés à un modèle, des sous-formulaires avec d'autres formes de modèles, entre autres possibilités.