• flask框架快速应用 Marathon


    flask框架快速应用

    最近安排了新任务,原先用django框架,现在用的flask框架搭的小应用,短小精悍,趁此机会,结合文档学习一波。

    测试版本

    python 2.7.9
    flask                         1.1.2
    flask_httpauth                4.2.0
    flask_restful                 0.3.8
    requests                      2.18.4
    

    1.简单用例

    用flask框架结合类视图的简单web server如下:

    from flask import Flask
    from flask_restful import Api,Resource
    
    app = Flask(__name__)
    api = Api(app) # Api绑定app
    
    class HelloWorld(Resource): # 继承自 flask_restful.Resource类
        def get(self):
            return {'hello': 'world'} # 内部自动将python类型转换
    
    api.add_resource(HelloWorld, '/') # 注册路由和对应类视图
    
    if __name__ == '__main__':
        app.run(debug=True) # debug模式,默认ip/port 127.0.0.1:5000,endpoint默认
    
    注意事项:
    1.endpoint是用来给url_for 反转url的时候指定的。如果不写endpoint,那么将会使用视图的名字的小写来作为endpoint.
    
    2.add_resource的第二个参数是访问这个视图函数的url,这个url可以跟之前的route一样,可以传递参数。并且还有一点不同的是,这个方法可以传递多个url来指定这个视图函数
    
    3.如果你想返回json数据,那么就使用flask_restful,如果你是想渲染模板,那么还是采用之前的方式,就是'app.route'的方式
    
    # 转载: https://www.cnblogs.com/fengzi759/p/12152553.html
    

    以下是server console信息

    * Serving Flask app "__main__" (lazy loading)
     * Environment: production
       WARNING: This is a development server. Do not use it in a production deployment.
       Use a production WSGI server instead.
     * Debug mode: on
     * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
     * Restarting with stat
     * Debugger is active!
     * Debugger PIN: 212-200-978
    

    其他

    flask_restful插件提供了类似WTForms来验证提交的数据是否合法的包,叫做reqparse.以下是基本用法:
    
    parser = reqparse.RequestParser()
    parser.add_argument("username",type = str,help="请输入用户名",required= True)
    args = parser.parse_args()
    add_argument可以指定这个字段的名字,这个字段的数据类型等。以下将对这个方法的一些参数做详细讲解
    
          1.default: 默认值,如果这个参数没有值,那么将使用这个参数指定的值
    
          2.required:是否必须。默认为False,如果设置为True,那么这个参数就必须提交上来
    
          3.type:这个参数的数据类型,如果指定,那么将使用指定的数据类型来强制转换提交上来的值
    
          4.choices: 选项。提交上来的值只有满足这个选项中的值才符号验证通过,否则验证不通过,传的是一个列表
    
          5.help:错误信息。如果验证失败后,将会使用这个参数指定的值作为错误信息
    
          6.trim: 是否要去掉前后的空格
    
    其中的type,可以使用python自带的一些数据类型,也可以使用flask_restful.inputs下的一些特定的数据类型来强制转换。比如一些常用的:
          1.url: 会判断这个参数的值是否是一个url,如果不是,那么就会抛出异常
        
          2.regex: 正则表达式
    
          3.date: 将这个字符串转换为 datetime.date数据类型。如果转换不成功,则会抛出一个异常
    
    
    

    传送门:

    https://www.w3cschool.cn/flask/
    https://dormousehole.readthedocs.io/en/latest/
    https://www.cnblogs.com/fengzi759/p/12152553.html
    https://www.cnblogs.com/jackadam/p/9208439.html
    
  • 相关阅读:
    Java基于opencv实现图像数字识别(五)—腐蚀、膨胀处理
    Java基于opencv实现图像数字识别(四)—图像降噪
    Java基于opencv实现图像数字识别(三)—灰度化和二值化
    Java基于opencv实现图像数字识别(二)—基本流程
    通过对表格数据的选择对input的value进行修改
    datagrid可编辑表格
    DataGrid中的事件和方法
    DataGrid中的常用属性
    Spring中AOP(通知)的使用
    ComboTree 的json格式和引用
  • 原文地址:https://www.cnblogs.com/davis12/p/14180135.html
Copyright © 2020-2023  润新知