Abilito una funzione che può modificare un'entità. Voglio popolare il modulo con le variabili dal datastore. Come posso farlo? Il mio codice non compila il modulo:Come popolare le mie variabili WTForm?
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)
Invece vedo questo messaggio di errore:
formdata dovrebbe essere un multidict di tipo wrapper che supporta il metodo 'GetList':
Aggiornamento
la soluzione è popolare il modulo come questo bu Mi chiedo se questo è davvero il modo consigliato?
editAForm = AForm(name=article.name, title=article.title, text=article.text...)
Grazie Thomas per la soluzione. –
Ottimo! Ero confuso di trovare il punto finale di form.populate_obj();) – swdev