使用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,就能看到生成的表单如下:

原文地址:https://www.cnblogs.com/goodhacker/p/3207596.html