Метод updateWidgets - правильное место, чтобы сделать это.просто вы сначала должны вызвать «form.Form.updateWidgets», а затем внести изменения (даже лучше, пользователь super (), как показано ниже):
def updateWidgets(self):
super(updateEmailForm, self).updateWidgets()
id = self.request.get('id', None)
if id:
self.widgets["memberID"].value = id.encode('utf-8')
, поэтому в основном ошибка была порядка
и если нет запроса (что довольно странно, и вы, вероятно, там что-то делаете), вы можете получить его через :
from zope.globalrequest import getRequest
request = getRequest()