Tôi đang bật chức năng có thể chỉnh sửa đối tượng. Tôi muốn điền vào biểu mẫu với các biến từ kho dữ liệu. Tôi làm nó như thế nào? Mã của tôi không cư dạng:Làm cách nào để điền các biến WTForm của tôi?
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)
Thay vào đó tôi thấy thông báo lỗi này:
formdata phải là một multidict kiểu wrapper có hỗ trợ 'getlist' phương pháp:
Cập nhật
Cách giải quyết là điền vào biểu mẫu như sau Tôi tự hỏi nếu điều này thực sự là cách được đề nghị?
editAForm = AForm(name=article.name, title=article.title, text=article.text...)
Cảm ơn bạn Thomas cho các giải pháp. –
Tuyệt vời! Tôi đã nhầm lẫn giữa việc tìm kiếm điểm kết thúc của form.populate_obj();) – swdev