如何在web2py视图中更改SQLFORM样式
我想在我的页面上自定义登录和注册表单的样子,但又不想失去SQLFORM的功能。我该如何改变这些表单的“外观”呢?请给我一些建议,比如我应该修改哪个CSS文件。我对HTML和CSS不太了解,所以才来请教你们的帮助。
非常感谢你们!
一个思考者 :)
1 个回答
7
首先,你可以通过使用 formstyle
参数来改变表单的一般 HTML 结构。这个参数可以设置成 "table3cols"、"table2cols"、"divs"、"ul"、"bootstrap"、"bootstrap3_stacked" 和 "bootstrap3_inline" 等值,此外,它也可以是一个生成自定义结构的函数(想了解更多,可以看看 gluon.sqlhtml.formstyle_bootstrap3_stacked
函数)。对于 Auth
表单,你可以通过 auth.settings.formstyle
设置来指定表单样式(具体可以查看 这里)。
你可以随意修改表单的 CSS。相关的细节可以查看 这里。你可能还会发现,生成一个表单后,在浏览器中查看生成的 HTML 源代码,可以帮助你理解表单的结构。如果你使用的是 "welcome" 应用作为基础,目前影响表单外观的相关 CSS 文件是 /static/css 目录下的 skeleton.css 和 web2py.css(截至版本 1.99.3,今天刚发布)。
如果你需要做的事情超出了 formstyle
选项和 CSS 修改所能处理的范围,那么你可以完全自定义一个 HTML 表单。详细信息可以查看 这里 和 这里。
如果在操作过程中有具体的问题,欢迎在 邮件列表 上寻求帮助。