Une partie de l'application que je suis le codage est structuré à peu près comme ceci:logique de validation dans Google App Engine
class PostModel(db.Model):
some_property = db.WhateverProperty()
some_other_property = db.WhateverProperty()
class PostHandler(webapp.RequestHandler):
def get(self):
#code to generate form
def post(self):
#code to validate input from form
#create entity and put() it to datastore if input passes the validation
Maintenant, d'après ce que je lis à propos de MVC, cette logique de validation doit être dans le modèle, non? Alors, devrais-je faire quelque chose comme ça à la place?
class PostModel(db.Model):
some_property = db.WhateverProperty()
some_other_property = db.WhateverProperty()
@staticmethod
def validation_logic(form_input):
#throw exceptions if validation fails
@staticmethod
def save_to_datastore(form_input):
#this would assume data already passed validation
#create entity and save it
class PostHandler(webapp.RequestHandler):
def get(self):
#code to generate form
def post(self):
try:
PostModel.validation_logic(form_input)
except CustomException,e:
self.redirect('/errorpage?msg='+e.msg)
PostModel.save_to_datastore(form_input)
Est-ce une bonne forme MVC?