form=FORM('Your name:',INPUT(_name='_name', requires=IS_NOT_EMPTY()),
'Your email:',INPUT(_email='_email', requires=IS_NOT_EMPTY()),
'Your message:',INPUT(_message='_message', requires=IS_NOT_EMPTY()),
INPUT(_type='submit'))
if form.accepts(request,session):
response.flash = 'Your information has been sent successfully'
message = [form.vars._name, form.vars._email, form.vars._message]
mail.send(to='me@gmail.com', reply_to=form.vars._email,
subject='Suggestion',
message='<html>%s</html>' % message)
我在创建一个简单的表单时遇到问题,该表单会将三个字段通过电子邮件发送到帐户 - “名称”,“电子邮件”和“邮件”。提交表单时,只识别并发送“name”,而其他两个变量始终返回NoneType对象。因此,电子邮件看起来像['人名','无','无']。我无法弄清楚最后两个变量与第一个变量的区别。有帮助吗?感谢。
答案 0 :(得分:0)
应该是:
INPUT(_name='_email', ...),
INPUT(_name='_message', ...),
INPUT()
助手的“_name”参数转换为<input>
标记的“name”属性。因此,INPUT(_name='email')
将生成<input name="_email">
,这将导致request.vars._email
包含在“_email”输入字段中输入的值,然后将其复制到form.vars._email
。< / p>