栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

初始Flask框架

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初始Flask框架

目录

一、Flask介绍

1.Flask介绍        

二、环境搭建

1、安装 虚拟环境

2、配置虚拟环境主目录

3、虚拟环境操作

        1.创建虚拟环境

        2.查看所有虚拟环境

        3.切换进入虚拟环境

        4.离开虚拟环境

        5、安装 flask

        6、pip高级使用

三、flask项目配置

1、flask配置理解

2、配置对象加载

3、配置文件加载

4、环境变量中加载


一、Flask介绍

1.Flask介绍        

        Flask诞生于2010年, 使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架

        Flask本身相当于一个内核, 其他几乎所有的功能都要用到扩展(邮件:Flask-Mail, 用户认证:Flask-Login, 数据库:Flask-SQLAlchemy).

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

Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎.

如果构建大型项目, 使用很多扩展, Flask也会变的跟Django一样的重.

        Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎 ​ 类比Django:路由、模板、ORM ​ Flask要完成功能,依赖于丰富的插件(扩展模块)

常问问题:

1、Django与Flask有什么区别

二、环境搭建

virtualenvwrapper 来创建、管理我们的虚拟环境

开发中,我们一个项目是要对应应虚拟环境的。

# 虚拟环境命令
创建虚拟环境: mkvirtualenv envname
激活虚拟环境: workon envname
查看虚拟环境: lsvirtualenv
移除虚拟环境: rmvirtualenv envname
退出虚拟环境: deactivate
    
# 环境依赖技巧
生成依赖清单: pip freeze > requirements.txt
自动安装依赖: pip install -r requirements.txt

# Flask框架的安装
pip install flask==1.0.2

# 注意:
flask的核心是Werkzeug和Jinja2, 所以在安装Flask的同时, 会自动安装上面的两个依赖.

1、安装 虚拟环境
pip install virtualenvwrapper-win

2、配置虚拟环境主目录
在windows上环境变量中 添加 环境变量 WORKON_HOME

配置上目录 W:virtual_envs

3、虚拟环境操作

        1.创建虚拟环境
mkvirtualenv 虚拟环境名

        2.查看所有虚拟环境
workon  虚拟环境名称

        3.切换进入虚拟环境
workon 虚拟环境名 ​ C:Usersfan>workon xiaofa (xiaofa) C:Usersfan>

查看命令是否在虚拟环境中,要看 命令行的前缀是否有括号(虚拟环境名)

        4.离开虚拟环境
deactivate

        5、安装 flask
pip install flask==1.0.2

        6、pip高级使用
  • 导出环境中所有的包
pip freeze > requirements.txt
  • 在环境中 批量安装包
pip install -r requirements.txt
  • Flask入门实现步骤
# 1.导入Flask类
from flask import Flask

# 2.实例化Flask对象
app = Flask(__name__)


# 3.编写路由与视图
@app.route('/')
def index():
    return 'Hello Flask'


# 4.启动服务
if __name__ == '__main__':
    app.run()

知识点抽取

1.实例化Flask对象:
app = Flask(__name__)
	1).__name__参数用于确定启动程序的位置
    2).__name__参数可以传递除了标准模块名的任意字符串, 但不推荐
    3).__name__参数如果传递标准模块名, 不影响路由的匹配, 但会影响静态文件的加载
    
2.@app.route('/'): 路由配置
@app.route('路由')是一装饰器的形式构建路由的, 其第一个参数为路由路径

3.app.run(): Flask实例的方法, 用于启动web服务, 可选参数如下:
	- host: 服务启动的IP地址
    - port: 服务启动的端口
    - debug: 是否以调试模式启动
    示例: app.run(host='127.0.0.1', port=8899, debug=True)

三、flask项目配置

1、flask配置理解

app.config 是一个类字典的对象,里面已经有了很多默认的配置。我们可以向里面添加自己新的配置

  • 向配置中添加配置
# 配置信息
print(app.config)
app.config["room"] = "407"
app.config["MYSQL_HOST"] = "127.0.0.1"
  • 从配置中获取配置变量对应的值
# 获取配置中的信息
print(app.config["room"])
print(app.config["MYSQL_HOST"])

2、配置对象加载

我们把配置信息 写入到一个类中,然后 去加载

配置类是:

配置类 我们写入到 settings模块 (settings.py)

# 定义一个配置类
# 属性 必须是 全大写
class Config:
  # 配置 属性=值
  ROOM = "407"
  MYSQL_HOST = "127.0.0.1"

app.py

from flask import Flask
from settings import Confing

app = Flask(__name__)

app.config.from_object(Confing)
print(app.config)

print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))

@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':

3、配置文件加载

我们直接把配置信息 写入到文件中,然后去加载

# 定义一个配置类
# 属性 必须是 全大写
​
ROOM = "3308"
MYSQL_HOST = "192.168.0.54"

​app.py

from flask import Flask
from settings import Confing

app = Flask(__name__)

app.config.from_pyfile("settings.py")
print(app.config)

print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))

@app.route('/')
def hello_world():
    return 'Hello World!'


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

4、环境变量中加载

我们在pycharm中定义一个环境变量,这个环境变量指向一个目录下的文件

我在桌面上创建一个a.txt文件 写入如下内容:

 在pycharm中定义一个环境变量 aaa 指向 a.txt文件

在flask中使用 这个环境变量aaa

from flask import Flask

app = Flask(__name__)
​
app.config.from_envvar("aaa")
​
​
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))

@app.route('/')
def hello_world():
    return 'Hello World!'


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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号