2013-11-10 2 views
0

Я создал SQLFORM, которая создает новую запись, а также FORM, чтобы удалить эту запись. Но когда я пытаюсь использовать эту ФОРМУ (заполняю ее и нажимаю на submit), но при первой попытке она всегда возвращает false.Форма Web2py не обрабатывается с первой попытки

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) тоже не работает.

Благодарим за помощь.

ответ

0

Ваша модель выглядит странно, поскольку вы не задали тип данных имени поля. это должно быть поле. Поле ('name', 'string')

Смежные вопросы