Web2py表单首次尝试无法处理

时间:2013-11-10 20:15:38

标签: python forms web2py

我创建了一个SQLFORM,它创建了一个新条目,还有一个FORM来删除该条目。但是当我尝试使用那个FORM(填写并点击提交)但是在第一次尝试时它总是返回false。

form.process().accepted:

我的控制器:

def new_category():
    form = SQLFORM(db.category)
    if form.process().accepted:
        response.flash = 'category create form accepted'
    return dict(form=form)

def delete_category():
    form = FORM(INPUT(_name='name', requires=IS_NOT_EMPTY()),\
                INPUT(_type='submit'))
    if db(db.category.name==request.vars.name).select():
        if form.process().accepted:
            response.flash = 'category delete form accepted'
            db(db.category.name==request.vars.name).delete()
        else:
            response.flash = 'category delete form refused'
    else:
        response.flash = 'category delete form refused (no category)'
    return dict(form=form)

我的模特:

db.define_table('category',Field('name'))

我的创建/删除视图:

{{extend 'layout.html'}}
<h2>This is the test/delete_category.html template</h2>
{{=form}}

{{extend 'layout.html'}}
<h2>This is the test/new_category.html template</h2>
{{=form}}

在第一次尝试之后(当我填写表格并提交时)它可以正常工作。我在in here处查看类似的问题,但使用accepts(request)也不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您的模型看起来很奇怪,因为您还没有设置字段名称的数据类型。 它应该是...... Field('name','string')