Skip to content

Latest commit

 

History

History
133 lines (87 loc) · 3.02 KB

README.zh-CN.md

File metadata and controls

133 lines (87 loc) · 3.02 KB

🍾 JSON API 的 Flask 扩展

English

该项目由 ISCLUB Studio 创建和维护。在 GITHUB 和 PYPI 上使用 MIT 许可证开源。

介绍

Flask-was 可以更好地实现前端和后端的分离,在视图函数运行、生成数据和返回之前快速创建数据验证和检查,您还可以创建用户验证功能以进行数据验证。快速、优雅!

安装

使用 pip 安装或升级:

$ pip install -U flask-was

示例

简单的登录示例

from flask import Flask
from flask_was import Was, Checker, Column

app = Flask(__name__)
api = Was(app)

api.addChecker(
    namespace="signin",
    obj=Checker(
        {
            "name": Column(api.String, biggest_str=20, smallest_str=4),
            "email": Column(api.EmailAddress, biggest_str=255, smallest_str=3),
            "password": Column(api.String, biggest_str=20, smallest_str=4),
        }
    ),
)


@app.route("/api/signin", methods=["POST"])
@api.checkeout("signin")
def api_signin(postdata):
    if postdata[0]:
        print("======== A new user coming ... ========")
        print("Name: " + postdata[1]["name"])
        print("Email: " + postdata[1]["email"])
        return api.send(json={"messages": "Signin was OK"}, status=200)
    else:
        return api.send(
            json={"messages": "Have some error. Check you forms", "postdata": postdata},
            status=400,
        )

app.run()

发送请求:

import requests

print(requests.post(
    "http://127.0.0.1:5000/api/signin",
    data={
        "name":"Flask",
        "email":"flask@example.org",
        "password":"12345"
    },
).text)

文档

请阅读文档以开始使用,文档位于 /docs 文件夹中。如果这个项目对您有帮助,请点击 Star.

贡献指南

如果您发现错误或有好的建议,请参阅以下模板以创建议题拉取请求

  • 好的想法
## 介绍

这个想法有什么用……

## 代码

我更改的文件和尝试进行的操作……

## 信息

版本信息……

Python: 3.6.x
Flask: 1.1.x
Flask-Was: 0.1.x
  • 使用中的问题
## 预期

我的业务需要……

## 代码

代码和完整回溯的一部分……

我的代码发生什么了……

## 信息

版本信息……

Python: 3.6.x
Flask: 1.1.x
Flask-Was: 0.1.x

如果您做出了有益的贡献,您将被添加到 contributors.md.

许可证

MIT LICENSE