您的位置:首页 > 其它

Flask框架学习笔记(API接口管理平台 V2.0)

2016-11-26 15:47 671 查看
博主今天把API接口管理平台发布到github了,这次是更新一些功能



如支持本地数据库sqlite3、优化了数据结构

技术方面跟之前V1.0相同,只增加生产本地数据;但是为了支持层级的参数,修改了数据结构,下面是新的model.py

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 from app import db
5
6
7 class User(db.Model):
8     user_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
9     user_name = db.Column(db.String(64))
10     password = db.Column(db.String(64))
11     status = db.Column(db.Integer)
12     level = db.Column(db.Integer)
13
14
15 class Model(db.Model):
16     model_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
17     model_name = db.Column(db.String(256))
18     status = db.Column(db.Integer)
19     # 项目分类ID、名称、状态
20
21
22 class Interface(db.Model):
23     interface_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
24     model_id = db.Column(db.Integer, db.ForeignKey("model.model_id"))
25     interface_name = db.Column(db.String(64))
26     interface_url = db.Column(db.String(1024))
27     interface_method = db.Column(db.String(64))
28     request_exam = db.Column(db.String(4096))
29     response_exam = db.Column(db.String(4096))
30     status = db.Column(db.Integer)
31     # 接口信息
32
33
34 class Parameter(db.Model):
35     parameter_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
36     interface_id = db.Column(db.Integer, db.ForeignKey("interface.interface_id"))
37     parameter_type = db.Column(db.String(64))
38     parameter_group_id = db.Column(db.Integer)
39     parameter_name = db.Column(db.String(64))
40     necessary = db.Column(db.String(64))
41     type = db.Column(db.String(64))
42     default = db.Column(db.String(64))
43     remark = db.Column(db.String(64))
44     level = db.Column(db.String(64))
45     # 参数信息


然后是根据定义好的结构重新定义表单字段 forms.py

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 from flask_wtf import Form
5 from wtforms import StringField, TextField, PasswordField, FormField, SubmitField, FieldList, IntegerField
6 from wtforms.validators import Required, DataRequired
7
8
9 class LoginForm(Form):
10     username = StringField("登陆名", validators=[Required()])
11     password = PasswordField("密码", validators=[Required()])
12
13
14 class ModelForm(Form):
15     model_name = StringField("中文名称", validators=[Required()])
16
17
18 class InterfaceForm(Form):
19     interface_name = StringField("接口名称", validators=[Required()])
20     interface_url = StringField("接口地址", validators=[Required()])
21     interface_method = StringField("接口方法", validators=[Required()])
22     request_exam = TextField("请求示例", validators=[Required()])
23     response_exam = TextField("返回示例", validators=[Required()])
24
25
26 class ParameterRequestForm(Form):
27     parameter_group_id = StringField("从属", validators=[Required()])
28     parameter_name = StringField("参数名称", validators=[Required()])
29     necessary = StringField("是否必须", validators=[Required()])
30     type = StringField("类型", validators=[Required()])
31     default = StringField("默认值", validators=[Required()])
32     remark = StringField("备注", validators=[Required()])
33     level = StringField("层级", validators=[Required()])
34
35
36 class ParameterResponseForm(Form):
37     parameter_group_id = StringField("从属", validators=[Required()])
38     parameter_name = StringField("参数名称", validators=[Required()])
39     necessary = StringField("是否必须", validators=[Required()])
40     type = StringField("类型", validators=[Required()])
41     default = StringField("示例", validators=[Required()])
42     remark = StringField("描述", validators=[Required()])
43     level = StringField("层级", validators=[Required()])
44
45
46 class SubmitForm(Form):
47     submit = SubmitField("保存")


关系总结就是 项目分类下有接口、接口中有参数、参数又分为 请求参数;返回参数

还增加了后台管理:



github地址:https://github.com/cllovewxq/pythonapi

这边博主没有把用户管理完成、还有使用项目过程中有用户密码的话就用:admin/123456
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: