Python web2py表单返回非类型对象 form=form('Your name:',INPUT('u name='u name',requires=IS\u NOT\u EMPTY()), “您的电子邮件:”,输入(\u email=''email',requires=IS\u NOT\u EMPTY()), 'Your message:',INPUT('u message=''u message',requires=IS'u NOT'u EMPTY()), 输入(_type='submit')) 如果form.接受(请求、会话): response.flash='您的信息已成功发送' message=[form.vars.\u name,form.vars.\u email,form.vars.\u message] 邮寄me@gmail.com,回复至=form.vars.\u电子邮件, 主题‘‘建议’, 消息=“%s”%message)

Python web2py表单返回非类型对象 form=form('Your name:',INPUT('u name='u name',requires=IS\u NOT\u EMPTY()), “您的电子邮件:”,输入(\u email=''email',requires=IS\u NOT\u EMPTY()), 'Your message:',INPUT('u message=''u message',requires=IS'u NOT'u EMPTY()), 输入(_type='submit')) 如果form.接受(请求、会话): response.flash='您的信息已成功发送' message=[form.vars.\u name,form.vars.\u email,form.vars.\u message] 邮寄me@gmail.com,回复至=form.vars.\u电子邮件, 主题‘‘建议’, 消息=“%s”%message),python,web2py,Python,Web2py,我很难创建一个简单的表单,将电子邮件三个字段发送到帐户-“名称”,“电子邮件”和“消息”。提交表单时,只识别并发送“name”,而其他两个变量始终返回非类型对象。因此,电子邮件看起来像[‘人名’、‘无’、‘无’]。我搞不清楚最后两个变量和第一个变量有何不同。有什么帮助吗?谢谢。应该是: form=FORM('Your name:',INPUT(_name='_name', requires=IS_NOT_EMPTY()), 'Your email:',INPUT(_email

我很难创建一个简单的表单,将电子邮件三个字段发送到帐户-“名称”,“电子邮件”和“消息”。提交表单时,只识别并发送“name”,而其他两个变量始终返回非类型对象。因此,电子邮件看起来像[‘人名’、‘无’、‘无’]。我搞不清楚最后两个变量和第一个变量有何不同。有什么帮助吗?谢谢。

应该是:

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)
INPUT()
helper的“\u name”参数转换为
标记的“name”属性。因此,
INPUT(\u name='email')
将导致
,这将导致
request.vars.\u email
包含在“\u email”输入字段中输入的值,然后将其复制到
form.vars.\u email

INPUT(_name='_email', ...),
INPUT(_name='_message', ...),