使用uliweb自动创建表单
1.在apps/blog目录下创建form.py文件
1 #coding:utf-8 2 3 from uliweb.form import* 4 5 class blogform(Form): 6 user = StringField(label = '姓名', required = True) 7 content = TextField(label = '内容')
blogform为一个继承自Form类的子类,包括user和content两个字段。
2.然后在views中引用该类
1 #coding=utf-8 2 from uliweb import expose, functions 3 from blog.models import blog_table 4 from blog.forms import blogform 5 6 @expose('/') 7 def index(): 8 return '<h1>Hello, Uliweb</h1>' 9 10 @expose('/boge') 11 def boge(): 12 all = blog_table.all() #非必须,查询数据库时用 13 f = blogform(action = '/') 14 return {'a':all, 'f':form}
其中:
- expose 表示访问的url地址。这里做了一个index和一个boge
- functions 是一种导入机构,它可以通过
.xxx
的方式来引用栩置在settings.ini中[FUNCTIONS]
下的对象路径 - forms 表单显示。
- @expose('/') 含义是,当我们访问 "/" 网页的时候, 系统会调用index函数。
- all = blog_table.all() 读取所有数据库内容;
- form = blogform() 新建一组添加内容的空白表单。
- return {} 返回给模板 index.html文件 会得到all,form。
3.在boge.html模板中显示:
{{<<form}}
浏览器中打开http://127.0.0.1:8000/boge,就能看到生成的表单如下: