web2py表单返回NoneType对象

时间:2012-08-02 03:16:20

标签: python web2py

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对象。因此,电子邮件看起来像['人名','无','无']。我无法弄清楚最后两个变量与第一个变量的区别。有帮助吗?感谢。

1 个答案:

答案 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>