2010-12-07 17 views
1

Ich bin auf der Suche nach Validierung in Google App Engine und ich habe nur gefunden, wie es mit Django-Framework zu tun. Ok Django Ansatz ist in Ordnung, aber wenn ich ein Formular habe und dieses Formular Daten aus wenigen Tabellen was dann ??? Ich kann es so nicht tun:Google App Engine + Validierung

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

ist eine einfache Möglichkeit, Form zu validieren, die Daten von einigen Tabellen enthalten oder ich habe es allein zu codieren?

Antwort

1

Sieht so aus, als ob Sie webapp verwenden; Ich schlage vor, dass Sie sich einige andere "leichte" Optionen für die Formularvalidierung ansehen. Wählen Sie einen, den Sie mögen, das Layout/die Syntax von. Sie können komplexe 'verschachtelte' Beziehungen definieren, falls erforderlich.

0

WTForms hat ein GAE Komponente WTForms

WTForms unterstützt jetzt als auch die automatische Generierung Form AppEngine Feldern. Die Formularklasse kann wie sie ist verwendet werden oder als Basis für erweiterte Formularklassen dienen, die dann unter anderem nichtmodellbezogene Felder, Teilformulare mit anderen Modellformen mischen können.