web2py 默认表单样式不工作
web2py default formstyle not working
在我的 appconfig.ini
文件中,默认 formstyle
是 bootstrap3_inline
。但是当表单在浏览器中显示时,表单元素是垂直显示的,一个在另一个下面,页面源说表单 class 是 form-horizontal
。我尝试使用 formstyle
的所有其他选项,但无法获得 bootstrap form-inline
。我正在使用 Chrome 浏览器。
我想使用 'form-inline' 样式,因为我的表单只有几个元素,而且很多屏幕 space 未使用 'form-horizontal' 样式。如何让表格显示在一行中?
bootstrap3_inline
这个名字有点误导,因为它实际上是为了产生一个 Bootstrap horizontal form。此上下文中的术语 "inline" 仅表示每个表单字段显示标签和输入 inline(与默认情况相反,输入显示在标签下方).
要转换为真正的 Bootstrap 内联形式,只需在 FORM
对象构造后更改 class 即可:
form = SQLFORM(db.mytable).process()
form['_class'] = 'form-inline'
如果您想将此样式应用于多个表单或将其设为默认样式,您可以创建一个基于 boostrap3_inline
表单样式的自定义 formstyle
函数:
from gluon.sqlhtml import formstyle_bootstrap3_inline_factory
def inline_form(form, fields):
form = formstyle_bootstrap3_inline_factory(3)(form, fields)
form['_class'] = 'form-inline'
return form
那么您可以将此样式应用于单个表单:
form = SQLFORM(db.mytable, formstyle=inline_form)
或者设为默认 formstyle
:
response.formstyle = inline_form
在我的 appconfig.ini
文件中,默认 formstyle
是 bootstrap3_inline
。但是当表单在浏览器中显示时,表单元素是垂直显示的,一个在另一个下面,页面源说表单 class 是 form-horizontal
。我尝试使用 formstyle
的所有其他选项,但无法获得 bootstrap form-inline
。我正在使用 Chrome 浏览器。
我想使用 'form-inline' 样式,因为我的表单只有几个元素,而且很多屏幕 space 未使用 'form-horizontal' 样式。如何让表格显示在一行中?
bootstrap3_inline
这个名字有点误导,因为它实际上是为了产生一个 Bootstrap horizontal form。此上下文中的术语 "inline" 仅表示每个表单字段显示标签和输入 inline(与默认情况相反,输入显示在标签下方).
要转换为真正的 Bootstrap 内联形式,只需在 FORM
对象构造后更改 class 即可:
form = SQLFORM(db.mytable).process()
form['_class'] = 'form-inline'
如果您想将此样式应用于多个表单或将其设为默认样式,您可以创建一个基于 boostrap3_inline
表单样式的自定义 formstyle
函数:
from gluon.sqlhtml import formstyle_bootstrap3_inline_factory
def inline_form(form, fields):
form = formstyle_bootstrap3_inline_factory(3)(form, fields)
form['_class'] = 'form-inline'
return form
那么您可以将此样式应用于单个表单:
form = SQLFORM(db.mytable, formstyle=inline_form)
或者设为默认 formstyle
:
response.formstyle = inline_form