一、虚拟环境
1、虚拟环境与系统环境的关系
系统环境包括虚拟环境
2、为什么要创建虚拟环境
不同的项目可能需要不同的包,虚拟环境相当于容器,容器之间相互独立,我们只需要在每个容器里安装我们所需要的依赖包,且不会对其他的容器造成影响。
3、python 创建虚拟环境
(1)、进入到创建好的项目文件里
(根据自己创建文件更改路径)

(2)、pipenv shell
提示:pienv 未安装的 需要先安装pipenv pip install pipenv
创建并启动虚拟环境

(这里已提前安装好虚拟环境,pipenv shell命令结果 可能不一样)
二、Flask简介
1、Flask的优点
(1)、微框架、简洁、给开发者提供很大的扩展性
(2)、Flask和相应的插件写的很好
(3)、开发效率非常高
2、第一个Flask程序
from flask import Flask
app = Flask(__name__) # 实例化类
# __name__ = '__main__'
@app.route('/') # 装饰器 路由 访问地址
def hello_world():
return 'hello world'
if __name__ == '__main__': # 启动函数
app.run() # 运行
运行结果

点击图中的链接 http://127.0.0.1:5000/ (本地链接)
得到结果

3、设置debug模式
打开debug 模式 便于编程找错

输出 debug mode :off

输出 debug mode: on
1、debug 的几种打开方式
from flask import Flask
app = Flask(__name__) # 实例化类
# __name__ = '__main__'
@app.route('/') # 装饰器 路由 访问地址
def hello_world():
return 'hello world'
if __name__ == '__main__': # 启动函数
# 第一种打开方式
# app.run(debug=True)
# 第二种打开方式
# app.debug = True
# app.run() # 运行
# 第三种打开方式
# app.config.update({'DEBUG':True}) # DEBUG 需要大写
# app.run()
# 四种打开方式
# app.config.update(DEBUG=True) # DEBUG 需要大写
# app.run()
三、配置文件
创建一个py文件 在py文件里进行配置
from 文件名 (同文件夹里)
from flask import Flask
import config
app = Flask(__name__) # 实例化类
@app.route('/') # 装饰器 路由 访问地址
def hello_world():
return 'hello world'
if __name__ == '__main__': # 启动函数
#第一种方式
# app.config.from_object('config')
# app.run()
# 第二种方式
# app.config.from_pyfile('config.py')
# app.run()
四、url和视图
其中,尖括号是固定写法,语法为,variable默认的数据类型是字符串。如果需要指定类型,则要写成converter:variable,其中converter就是类型名称,
可以有以下几种
• string: 默认的数据类型,接受没有任何斜杠/的字符串。
• int: 整形
• float: 浮点型。
• path: 和string类似,但是可以传递斜杠/。
• uuid: uuid类型的字符串。
• any:可以指定多种路径
from flask import Flask
app = Flask('__name__')
@app.route('/')
def hello():
return 'hello world'
@app.route('/list/<int:sid>') # 整形
def name1(sid):
return '第{}岁'.format(sid)
@app.route('/list/<string:sid1>') # 字符串 接收没有‘/’的任何字符串
def name2(sid1):
return '第{}岁'.format(sid1)
@app.route('/list/<string:sid2>') # 浮点型
def name3(sid2):
return '第{}岁'.format(sid2)
@app.route('/list/<path:sid3>') # 跟string类似 但可以接收'/' 并默认为字符串的形式
def name4(sid3):
return '第{}岁'.format(sid3)
@app.route('/<any(dict, tuple):sid4>/') # 传多个地址
def name5(sid4):
return sid4
if __name__ == '__main__':
app.run(debug=True)
五、模拟网络
from flask import Flask, request
# impoet request 会出错
app = Flask('__name__')
@app.route('/ie')
def baidu():
return request.args.get('name')
if __name__ == '__main__':
app.run(debug=True)
908

被折叠的 条评论
为什么被折叠?



