Flask基础:框架介绍与环境搭建

1.Flask介绍

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

    # Flask的"轻"
 Flask的"轻", 不代表其功能不够强大, Flask拥有丰富的扩展, 其依赖于扩展来给应用添加功能, 众多的插件提供了数据库集成, 表单验证, 上传处理,各种各样的开放认证技术等, Flask的这些特性使得它在web开发方面变得非常流行
    # 注意: 如果构建大型项目, 使用很多扩展, Flask也会变的跟Django一样的重.

2.Flask框架环境搭建

 创建一个空的文件夹,使用pycharm打开,创建虚拟环境及配置虚拟环境

Flask==1.1.4
Flask-Caching==1.10.1
Flask-Cors==3.0.10
Flask-Migrate==2.7.0    # 迁移
Flask-MySQLdb==0.2.0
Flask-RESTful==0.3.9
Flask-Script==2.0.6    # 用来创建命令窗口
Flask-SQLAlchemy==2.5.1
MarkupSafe==2.0.1
PyJWT==2.3.0
PyMySQL==1.0.2
qiniu==7.6.0
redis==4.2.2
SQLAlchemy==1.4.27

flask安装         pip install flask==1.1.4

flask项目创建app.py         

导包:from flask import Flask

安装依赖:pip install markupsafe==2.0.1

初始的flask基本用法

from flask import Flask    # 从flask包里面导入Flask核心类

app = Flask(__name__)    # 实例化flask核心对象

@app.route('/h')    # 使用app提供的route装饰器 对函数进行装饰 即可成为视图函数
def hello():

    return 'hello flask'

if __name__ == '__main__':  # 当python解释器直接运行此文件的时候,里面的代码会执行
    app.run()  

拓展项>>>>>>>>>>>>> 

 配置Flask程序入口 

Flask基础:框架介绍与环境搭建_第1张图片

Flask基础:框架介绍与环境搭建_第2张图片

3.Flask配置

        Flask项目配置文件加载方式:

             1.从配置对象中加载
             2.从配置文件中加载
             3.从环境变量中加载

1.从配置对象中加载

        config文件 >> settings.py

# 从对象中导入配置
class Config():
    NAME = 'zhangsan'  # 类属性 配置项 必须是全大写字母下划线格式

# app.py中挂载写法
# app.config.from_object(Config)          # 从对象中导入配置

2.从配置文件中加载

        config文件 >> my_settings.py

# 导入配置文件
AGE = 18
SEX = '女'

# app.py中挂载写法

# app.config.from_pyfile('./config/my_settings.py')          # 导入配置文件

3.从环境变量中加载

        项目以外创建 **.py文件   用pycharm打开 写入测试数据

# 来自本地创建的py文件
PASSWORD = '123456'

Flask基础:框架介绍与环境搭建_第3张图片

Flask基础:框架介绍与环境搭建_第4张图片

# app.py中挂载写法

# app.config.from_envvar('pwd')          # 从本地文件导入 (环境变量的名字来获取)

优化后: 从对象中导入配置

1.从配置对象中加载

        config文件 >> settings.py

# 从对象中导入配置
class Config():
    NAME = 'zhangsan'  # 类属性 配置项 必须是全大写字母下划线格式

2.项目根目录创建 create_app.py

from flask import Flask


def create_app(config):
    flask_app = Flask(__name__)
    flask_app.config.from_object(config)  # 1.从对象中导入配置

    return flask_app

3.在 app.py中使用

from config.settings import Config  # 导入自定义配置项
from flask import url_for, request, render_template, redirect, jsonify, make_response

from create_app import create_app

app = create_app(Config)


# 使用app提供的route装饰 对函数进行装饰,即可成为视图函数
@app.route('/h4895616119815', methods=['GET', 'POST'], endpoint='he')
def hello():
    print(app.config)
    # print(app.config.get('NAME'))  # zhangsan
    return 'hello flask 11'


@app.route('/hello2')
def hello2():
    url = url_for('he')
    print(url)  # h4895616119815
    return 'hello2'

工厂模式

 根目录 >> 工厂.py

class Animal:  # 抽象类
    def do_say(self):  # 抽象方法
        pass


class Dog(Animal):
    def do_say(self):
        print('wangwang')


class Cat(Animal):
    def do_say(self):
        print('miaomiao')


class Forset():
    def make_animal(self, animal_type):
        eval(animal_type)().do_say()


if __name__ == '__main__':
    animal = input('请输入Dog 或者 Cat:\n')
    Forset().make_animal(animal)

    # 工厂方法的特点 传入不同的参数,返回不同的对象

你可能感兴趣的:(Flask,flask,python,后端)