flask简单实现

一、flask 简介

二、flask 安装及简单实现

三、问题

 

一、flask 简介

  Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login, 数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。
  简而言之,就是简单,我个人不太喜欢臃肿的框架,这个简单就好

二、flask 安装及简单实现

  1、虚拟环境,
    如果还不知道怎么布置虚拟环境的可以去看看这: 虚拟环境 
    workon  flask_project

  2、安装flask
    pip install flask

    完成后新建一个py文件,放入下面的代码就可以跑最简单的程序了

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

if __name__ == '__main__':
app.run()

    然后在命令行,python  app.py

    就可以访问命令行的地址了

  3、Flask-Session 的使用

    flask 默认是有session的使用的

from flask import session

session['data'] = "123"  # 设置data为123
data = session.get('data', None) # 获取data
session.clear# 设置data为123

 

    但是存储是在cookie里面

三、问题

  1.接收json数据时

  request, 一般有 get_json, get_data, get_json,不一定有

  get_data 数据时bytes, 加上 as_text=True, 就可以转换成字符串

 request.get_data(as_text=True)

   2.一个比较推荐的flask项目结构的参考文章:去看看, 这个是简单翻译了的:去看看

    flask本就是自由组合的 轻量的, 根据实际情况搭配自己的项目结构

  3.当遇到下图问题时。

    请回退flask Werkzeug 的版本, 实验, 2.2.3 版本可以通过。

  4. flask 使用jsonify 返回数据时会导致中文返回的时unicode字符串

   可以尝试自己配置respose

     back = {
            'code': code,
            'message': msg,
            'success': success,
            'data': data
        }
        back = json.dumps(back, ensure_ascii=False)
        response = make_response(back)
        return response

  ensure_ascii=False 会让json在转义的时候,不转换中文字符串

 

 

 

  

posted @ 2023-04-27 15:22  PKGAME  阅读(36)  评论(0编辑  收藏  举报