flask学习笔记01

it2023-05-06  73

flask学习笔记01

虚拟环境的建立

为什么要建立虚拟环境哪?

在实际开发中几乎人人都会用到虚拟环境,因为在实际开发中不同的项目可能会用同一个模块的不同的版本,而不同的版本经常是不兼容的。会引发各种各样的错误,这时候就要用一个个‘箱子’把不同的项目隔开,而这个箱子就是不同的虚拟环境。

建立虚拟环境的步骤

1.建立一个系统变量WORKON_HOME

我的电脑>属性>高级系统设置>环境变量>系统变量>新建

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201020153726283.png#pic_center

2.cmd命令

pip install pipenv

3.建立一个项目文件夹,然后在cmd中cd到这个文件夹

pipenv

如果成功了会在文件夹里创建一个这样的文件

4.在python中设置虚拟环境

file>setting>project> interpreter

这是默认的环境,里面都是我安过的package,不过接下来我们要添加一个新的虚拟环境,并且这里安过的package在新的虚拟环境中是没有的

勾选existing后添加地址(它默认会给你写一个)

5.安装package

可以看到这个虚拟环境中的package很少,我们点击加号来添加一些

点击下面的manage,可以添加镜像可以大大提升下载速度,我这里换源了豆瓣

换完源搜索选中对应的package,点击install package,就安装了。

第一个flask程序

我们直接上代码

from flask import Flask app = Flask(__name__) #视图函数 @app.route('/') #路径 def hello_world(): return "我就是云顶棋王" if __name__ == "__main__": app.run()

app是对flask类进行实例化

@app.route()是装饰器用来设置路径

下面是运行的结果

* Serving Flask app "第一个flask程序" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

显示的就是视图函数里的返回值

几种debug模式

在生产模式下调试是会用到debug,我们来看看flask的几种debug实现方法

if __name__ == "__main__": # 几种debug模式(只是用于生产模式) app.run(debug=True) app.debug=True app.run() # app.config是字典的子类 app.config.update(DEBUG=True) app.config.update({'DEBUG':True}) app.run()

用这三种代码可以直接启动debug模式

当代码中没有错误时会正常显示,只有在代码中有错误时才会进入debug模式,

我们在代码中,加一个错误

a = 10/0

然后直接按ctrl+s就可以直接运行了

可以直接看到除零错误zerodivisionerror

可以点击右边的小黑框,然后输入pycharm里的run里的Debugger PIN:就可以使用类似pycharm里的python console的console调试功能

配置文件

当以后的项目变得复杂之后,想要修改HOST或者是DEBUG时,逐行的修改太麻烦了,所以我们可以设置一个文件,都引用这个文件里的参数,当需要修改时直接修改这个文件里的参数的就行。

然后在函数中引用这个文件里的参数

import config # app.config.from_object('config') # app.config.from_pyfile('config.py') # pyfile里面有个默认时False的参数silent,当他True时 当文件写错时也不会报错

有两种引用模式,如上

url和视图

我们可以给他设置路径来设定它的访问路径

# @app.route('/list/<int:sid>/') # def article(sid): # return "这是第{}篇文章".format(sid)

<>是固定的格式,在里面添加可变的路径

sid是的变量,用来存路径,

int是约束条件,要求sid只能是整数类型

还有其他的约束条件

string: 默认的数据类型,接受没有任何斜杠/的字符串。

int: 整形

float: 浮点型

path: 和string类似,但是可以传递斜杠/。

uuid: uuid类型的字符串,一般用于加密密码

any:可以指定多种路径

@app.route('/<any(route1,route2):url_path>/') def item(url_path): return url_path

这样就可以任意访问any里的多个路径

此外应用request模块还有参数输入模式

先导入模块

from flask import Flask,request @app.route('/input/') def input(): name = request.args.get('name') return name

来看效果

r-1603179307408)]

此外应用request模块还有参数输入模式

先导入模块

from flask import Flask,request @app.route('/input/') def input(): name = request.args.get('name') return name

来看效果

谢谢各位的观看,如果有错误的地方,恳请指正。

最新回复(0)