2011-11-14 12 views
14

मैं एक ऐसा फ़ंक्शन सक्षम कर रहा हूं जो किसी इकाई को संपादित कर सके। मैं डेटास्टोर से चर के साथ फॉर्म को पॉप्युलेट करना चाहता हूं। मैं यह कैसे कर सकता हूं?मेरे डब्ल्यूटीएफओआर चर को कैसे पॉप्युलेट करें?

:

formdata एक multidict प्रकार आवरण 'getlist' विधि का समर्थन करता है कि किया जाना चाहिए:

if self.request.get('id'): 
    id = int(self.request.get('id')) 
    ad = Ad.get(db.Key.from_path('Ad', id)) 
    im = ad.matched_images 
    editAdForm = AdForm(ad) 
    if str(users.get_current_user()) == str(ad.user) or users.is_current_user_admin():      
    self.render_jinja('edit', form_url=blobstore.create_upload_url('/addimage'), 
         admin=users.is_current_user_admin(), 
         user_url= (users.create_logout_url('/' 
           ) if users.get_current_user() else users.create_login_url(self.request.uri)), 
         user= users.get_current_user(), 
         ad= ad, 
         form = editAdForm) 

इसके बजाय मैं यह त्रुटि संदेश दिखाई: मेरी कोड के रूप पॉप्युलेट नहीं है

अद्यतन

वैकल्पिक हल इस बू की तरह फार्म को भरने के लिए है मुझे आश्चर्य है कि यह वास्तव में अनुशंसित तरीका है?

editAdForm = AdForm(obj=ad) 

प्रलेखन क्रैश कोर्स यहाँ में उल्लिखित:

editAForm = AForm(name=article.name, title=article.title, text=article.text...) 

उत्तर

25

आप, "obj" फ़ॉर्म का दूसरा तर्क के माध्यम से अपने वस्तु पास करनी होगी http://wtforms.simplecodes.com/docs/dev/crash_course.html#editing-existing-objects

+1

समाधान के लिए आप थॉमस धन्यवाद। –

+1

ग्रेट! मैं form.populate_obj() के अंतिम बिंदु को खोजने का भ्रमित था;); – swdev

संबंधित मुद्दे