pylons + toscawidgets form: ตอน controller

ต่อจากตอนที่แล้ว http://blog.vee-u.com/2008/08/13/toscawidgets-form-20080812-pylons-20080701/ คือถ้าเขียนถึกๆ ก็อาจจะมานั่งจับค่าใส่ลงในใน object ที่ละตัวเช่น

(หลังจาก @validate แล้ว ข้อมูลจะไปเก็บใน self.form_result …)

...
from sampleproject import widgets
...
@validate(form=widgets.person_add_form, error_handler='index')
def save(self):
   if request.method().lower() != 'post':
       about(500)
   person = model.Person(firstname = self.form_result['firstname'], lastname = self.form_result['lastname'], telno = self.form_result['telno'])

...

แต่ทว่า ข้อมูลใน form เรา validate มาแล้วส่วนมากวน loop ยัดเข้าไปได้เลย

...
from sampleproject import widgets
@validate(form=widgets.person_add_form, error_handler='index')

def save(self):
     if request.method().lower() != 'post':
        about(500)
     person = model.Person()
     for k, v in self.form_result.items():
        setattr(person, k, v)
...

สบายขึ้นอีก😀

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s