flask简介
一、虚拟环境
1.1 什么是虚拟环境
虚拟环境是区别于系统环境的一个概念,通过虚拟环境,我们可以防止多个项目之间的冲突。比如说,我在一个虚拟环境中使用一个版本的模块,而在另一个虚拟环境使用不同版本的同一模块,这样这两个模块就不会产生冲突。
1.2 虚拟环境的安装
- 配置系统环境变量:
新建一个环境变量,变量名为WORKON_NAME,变量值为你的文件地址(存放虚拟环境)
2. 打开命令提示符(cmd),输入pip install pipenv(可以通过换源安装提高速度)
3. 创建好项目文件
4. 在cmd中进入到项目文件,输入pipenv shell创建虚拟环境(当文件路径名前出现一个圆括号(),表示已进入虚拟环境)
5. 打开PyCharm,打开该项目文件,选择已创建好的虚拟环境
过程如图:
如果想之后进入创建好的虚拟环境:
- 在cmd中进入项目文件,输入pipenv shell进入创建好的虚拟环境
- 也可以进入虚拟环境的文件,进入到Scripts,输入activate进入
二、Flask简介
- Flask是一款非常流行的Python Web框架
- 微框架,简洁,提供用户更高的扩展性
第一个Flask程序
from flask import Flask
app = Flask(__name__) # Flask实例
@app.route('/') # 路由
def helloworld():
return 'Hello World!'
if __name__ == '__main__': # 确定程序主入口
app.run(debug=True) # 打开Debug模式
三、设置debug模式
默认情况下,flask的debug模式是关闭的。当开启了debug模式后,当代码出现错误,错误提示会在终端中显示
debug模式只在开发模式下开启,因为debug模式会带来非常大的安全隐患
flask开启debug模式有四种:
- app.run(debug=True)
- app.debug = True
- app.config.update(DEBUG=True)
- app.config.update({‘DEBUG’:True})
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hellopython():
return 'Hello, Python!'
if __name__ == '__main__':
app.run(debug=True) # 设置debug模式
# 设置debug模式的其他方式
# app.debug = True
# app.config.update(DEBUG=True)
# app.config.update({'DEBUG':True})
# app.run()
四、配置文件
flask项目的配置都是通过app.config进行配置的。当我们对项目配置debug模式时,可以通过app.config[‘DEBUG’]=True来进行配置,这样该项目就会开启debug模式。
flask配置文件有四种方式:
-
app.config[‘DEBUG’]=True
-
如果配置的项目较多可以采取这种方式:
app.config.update( DEBUG = True ...... )
-
新建一个py文件,在该py文件里进行配置,然后在flask程序中导入该py文件:
加载方式: app.config.from_object(配置文件名) app.config.from_pyfile('配置文件名')
通过from_object,里面的参数可以是字符串名称,也可以是一个模块对象
-
同样是创建一个py文件,在该py文件里进行配置,然后在flask程序中导入该py文件:
加载方式: app.config.from_pyfile('配置文件名.py')
from flask import Flask
import config # 导入配置文件
app = Flask(__name__)
@app.route('/')
def hellopython():
return 'Hello, Python!'
if __name__ == '__main__':
# app.config['DEBUG']=True # 配置文件(直接硬编码)
# app.config.update(
# DEBUG = True
# # 如果配置文件内的内容比较多,可以采取这样的方式
# )
# 通过导入配置文件的方式
app.config.from_object(config) # 加载文件
# app.config.from_object('config')
# app.config.from_pyfile('config.py',silent=True) # silent默认为Flase
app.run()