IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> flask介绍与简单操作 -> 正文阅读

[Python知识库]flask介绍与简单操作

一、介绍

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

类比Django:路由、模板、orm

Flask要完成功能,依赖于丰富的插件

补充:Django与flask区别

flask:

  • Flask 确实很“轻”,不愧是 Micro Framework ,从 Django 转向 Flask 的开发者一定会如此感慨,除非二者均为深入使用过
  • Flask 自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的 Python 库
  • 入门简单,即便没有多少 web 开发经验,也能很快做出网站
  • 非常适用于小型网站
  • 非常适用于开发 web 服务的 API

django:

  • Django 太重了,除了 web 框架,自带 ORM 和模板引擎,灵活和自由度不够高
  • Django 能开发小应用,但总会有“杀鸡焉用牛刀”的感觉
  • Django 的自带 ORM 非常优秀,综合评价略强与 SQLAlchemy
  • Django 自带的模板引擎简单好用,但其强大程度和综合评价略低于 Jinja
  • Django 上手也比较容易,开发文档详细、完善,相关资料丰富
  • Django 成熟、稳定、完善,但相比于 Flask , Django 的整体生态相对封闭

二、环境搭建

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

实际开发中,每一个项目都有对应的虚拟环境

补充:

为什么要安装虚拟环境?

????????虚拟环境可以让系统Python环境保持纯洁,干净,避免包的混乱和版本的冲突。专为不同的项目搭建不同的环境,为每个项目使用虚拟环境可以保证项目只访问虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建虚拟环境的源。

1、安装虚拟环境:pip install virtualenvwrapper-win
2、配置虚拟环境主目录:
在Windows上环境变量中添加环境变量WORKON_HOME
配置上目录在D盘
3、虚拟环境操作
创建虚拟环境   mkvirtualenv 虚拟环境名
查看所有虚拟环境 workon
切换进入虚拟环境 workon 虚拟环境名
查看命令是否在虚拟环境中,要看命令行的前缀是否有括号()
离开虚拟环境  deactive
4、安装flask
pip install flask==1.0.2  

5、pip高级使用
导出环境中所有的包
pip freeze > C:\Users\zf\Desktop\requirements.txt
在环境中批量安装包
pip install -r requirements.txt

三、项目配置

1、flask配置理解

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

在app.py中添加配置信息并打印

from flask import Flask

app = Flask(__name__)

# 配置信息
print(app.config)
app.config['room'] = "105"
app.config["MYSQL_HOST"] = "127.0.0.1"

# 获取配置信息
print(app.config['room'])
print(app.config["MYSQL_HOST"])


@app.route('/')
def hello_world():
    return 'ET小仙女!'


if __name__ == '__main__':
    app.run(host="127.0.0.1",debug=True,port=8888)

右键run运行后可得到以下结果:

2、配置对象加载

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

配置类是:

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

# 定义一个配置类
class Config:
    ROOM = "105"
    MYSQL_HOST = "127.0.0.1"

返回到app.py中,修改

from flask import Flask
from settings import Config

app = Flask(__name__)

app.config.from_object(Config)
# 配置信息
print(app.config)
# app.config['room'] = "105"
# app.config["MYSQL_HOST"] = "127.0.0.1"


# 获取配置信息
# print(app.config['room'])
# print(app.config["MYSQL_HOST"])
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))

@app.route('/')
def hello_world():
    return 'ET小仙女!'


if __name__ == '__main__':
    app.run(host="127.0.0.1",debug=True,port=8888)

?运行结果为:

3、配置文件加载

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

同理我们在settings中直接写入:

# 定义一个配置类
# 属性 必须是 全大写

ROOM = "3308"
MYSQL_HOST = "192.168.0.54"

4、环境变量中加载

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

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

ROOM="999"
MYSQL_HOST="99.88.89.11"

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

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

app = Flask(__name__)

# app.config.from_object(Config)
# app.config.from_pyfile("settings.py")
app.config.from_envvar("aaa")


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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:25:47  更:2021-10-23 12:28:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:26:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码