1
試圖在web2py中創建一個輪詢應用程序。以web2py形式表格的多個實例
型號
db.define_table('t_query',
Field('f_content', type='text', requires=IS_NOT_EMPTY(),
label=T('Content')),
SQLField('is_active',db.auth_user,writable=False,readable=False),
auth.signature,
migrate=settings.migrate)
db.define_table('t_option',
Field('f_ocontent', type='string',requires=IS_NOT_EMPTY(),
label=T('Option')),
auth.signature,
migrate=settings.migrate)
控制器
def ask():
form=SQLFORM.factory(db.t_query,db.t_option,db.t_option)
if form.process().accepted:
id = db.t_query.insert(**db.t_query._filter_fields(form.vars))
form.vars.client=id
id = db.t_option.insert(**db.t_option._filter_fields(form.vars))
response.flash='Thanks for filling the form'
id = db.t_option.insert(**db.t_option._filter_fields(form.vars))
response.flash='Thanks for the question'
return dict(form=form)
查看
{{extend 'layout.html'}}
<h2>Start a Poll</h2>
{{=form}}
輸出
我試圖找出如何讓SQLFORM在窗體中多次使用領域從同一個表。
這是我所期望的:
我怎麼做呢?
問同樣的問題上web2py的@ Google網上論壇https://groups.google.com/forum/#!topic/web2py/48tO5ncC2t4
順便說一句,我看到你有一個連續的'response.flash'賦值。第二將覆蓋第一次每次成功處理表單,因爲沒有if語句來確定何時發送一個flash消息與另一個...可能它現在對你的代碼無關緊要,但是我認爲我會指出來。 – Kasapo