Flask学习笔记

Flask学习笔记,第1张

1.Flask介绍

    Flask诞生于2010年, 使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架
    Flask本身相当于一个内核, 其他几乎所有的功能都要用到扩展(邮件:Flask-Mail, 用户认证:Flask-Login, 数据库:Flask-SQLAlchemy).
    Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎.

   Flask的"轻", 不代表其功能不够强大, Flask拥有丰富的扩展, 其依赖于扩展来给应用添加功能, 众多的插件提供了数据库集成, 表单验证, 上传处理,各种各样的开放认证技术等, Flask的这些特性使得它在web开发方面变得非常流行

2.Flask的优点

  -  框架很轻量
  -  更新时依赖小
  -  简洁
  -  扩展性好
  -  第三方库的选择面广,开发时可以结合自己喜欢用的轮子,也可以结合强大的python库

3. Flask框架组件

Flask_sqlalchemy:将Flask和SQLAlchemy很好的结合在一起,如django中的ORM *** 作
flask_script:用于生成命令,在项目根目录路径下使用命令;例如:python manage.py runserver 
flask_migrate:用来实现数据库迁移(依赖flask_script)
flask-session:session放在redis里面
flask_restful:导入Api与Resource,用来实现自定义视图类
blinker:信号-触发信号.主要是让开发者可是在flask请求过程中定制一些行为

4.Flask配置文件加载方式

 1.从配置对象中加载

      

# 1.导入flask

from flask import Flask

# 设置配置对象

class DefaultConfig(object):
        MYSQL_HOST = '127.0.0.1'
        MYSQL_PORT = 3306



# 2.创建flask对象

app = Flask(__name__)



# 从配置对象中加载配置

app.config.from_object(DefaultConfig)



# 3.写路由与视图
# route的参数:
# rule : 视图函数的访问地址
# methods : 允许访问的方法  中括号里大小写都行


@app.route(rule='/',methods =['Get','post'])
    def index():
        # get方式调用配置
        mysql_port = app.config.get('MYSQL_PORT')
        print(mysql_port)
        # 字典键值方式调用配置
        mysql_host = app.config['MYSQL_HOST']
    	print(mysql_host)
        return 'load config from object'


  2.从配置文件中加载

# 需要定义一个储存信息的文件,我这里放到 settings.py 里了
# 从文件加载  ,要把文件的类型也写上

app.config.from_pyfile('settings.py')

# 可以读取任意格式文件,这种方式也是可以的
# app.config.from_file('settings.py')  


# 写视图和路由,这也和之前的没太大区别
@app.route('/')
    def index():
        # 获取配置信息
        mysql_port = app.config.get('MYSQL_PORT')  # 这里获取数据看你存储的文件里有什么信息,变量名对应上就好
        mysql_host = app.config['MYSQL_HOST']
        return 'Hello Flask'


  3.从环境变量中加载,这个就相对麻烦点

        (1).实现步骤:
            - 创建配置文件(存放敏感信息, 不与项目同目录)
            - 添加配置文件环境变量

 # 环境变量读取数据 ,这的settings和上面配置的变量名对应
 app.config.from_envvar('settings')  后面获取数据正常获取就行了

三种配置方式对比:
1.从对象加载配置: 配置方式灵活, 可复用性强, 但不安全
2.从文件加载配置: 复用性不好, 也不安全, 但是官方推荐用法
3.从环境变量加载: 相对安全, 利于配置敏感信息, 推荐使用

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/884168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-14
下一篇 2022-05-14

发表评论

登录后才能评论

评论列表(0条)

保存