Flask从零到一 2 | flask相关参数配置

312 阅读5分钟

上一篇文章介绍了学习flask之前需要的准备工作,也就是Git工具的下载和虚拟环境的配置,还介绍了如何编写一个最简单的flask程序,还捎带讲了一下有关于静态目录和模板目录的知识,这篇文章会深入讲解一下flask一些参数的配置。

app初始化参数

上一篇文章我们提及过在当前模块的根目录下会默认存在一个static,当然这是我们不在网页加任何修饰的情况。但如果我们需要将一些静态文件展示到网页中,我们就需要创建一个static文件夹来保存这些静态文件,它应该与当前模块处于同级目录。

之前我们通过访问绑定的url调用相应的视图函数,从而将返回值传至客户端页面,我们也可以通过访问静态文件夹static中的html文件,直接将html文件中的内容展示在客户端,首先我们需要做的就是在的static中创建一个html文件,内容可以按照自己的心意填写。

打开浏览器输入网址,路径需要是 根地址/static/.html 格式,这样就可以访问对应的html文件。

在这里插入图片描述

但在我们实例化app对象中,也可以设置一些初始化参数:

  • 1、import_name:寻找静态目录和模板目录位置
  • 2、static_url_path:访问静态文件时url的前缀
  • 3、static_folder:静态文件目录,默认为static
  • 4、template_floder:模板文件目录,默认为templates

import_name参数如果传入__name__,就表示在当前模块目录中寻找静态和模板目录,当然也可以传入其他参数,但这里建议用__name__。而第二个参数是用来自定义静态文件url前缀的,默认就为static,但如果我们更改了app对象中的这个参数:

app = Flask(__name__,
            static_url_path='/index')

在访问同一个静态文件时必须将url中的static更改为index,才能成功访问: 在这里插入图片描述

这个前缀也是比较重要的,因为我们之前说过通过视图函数也可以有同样的效果,这个前缀也是证明你在访问一个静态文件,而不是一个视图函数。

而剩下两个参数不设置的话就会在当前模块目录下寻找名为static和templates的文件夹,而如果进行了设置,就会到你设置的目录下寻找对应的静态和模板目录。

debug参数配置

我们平时编程的时候应该都用过Debug功能调试代码,"万能的Debug一下",当我们在写Flask程序时,如果代码部分出现了错误,运行之后客户端会给出一个很泛泛的错误提示,比如HTTP状态码。假如我们在代码中加一个除零错误,运行之后客户端的页面如下:

在这里插入图片描述

这样我们只是知道代码中有错误,却不知道错在哪,找BUG难上加难。而Flask中也是有DEBUG这个参数的,我们需要做的就是对这个参数进行配置,方法大致有以下四种:

  • 1、通过配置文件
  • 2、通过对象配置
  • 3、直接在config字典中设置
  • 4、在run方法中设置

方法一

首先我们在文件的同级目录下创建一个名为 config.cfg 的文件,并在文件中添加下面这行语句:

DEBUG = True

然后回到代码文件中,通过在app对象上进行配置,代码如下:

app.config.from_pyfile('config.cfg')

方法二

因为Python中一切皆对象,类也是一个对象,所以我们可以通过创建一个类,然后将DEBUG设置为这个类中的一个属性:

class Config():
    DEBUG = True

然后也是在app对象上进行配置,只不过从文件配置改成从对象配置:

app.config.from_object(Config)

方法三

app应用对象中的config可以理解成一个字典对象,我们也可以直接在这个字典上进行配置debug参数:

app.config["DEBUG"] = True

需要注意的是配置少量参数可以使用这种方法,而参数过多则会导致代码量多,写起来复杂,代码可读性也会降低。

对于config这个字典对象,我们也可以根据配置参数中已知的键来查询对应的值:

print(app.config.get("已知键"))

方法四

第四种方法应该是最简单的,run()方法的作用就是运行flask程序,里面也有一个debug参数,默认为False,当我们设置为True时,Debug功能开启:

app.run(debug=True)

run()方法中也有一些其他参数可供配置,比如主路径、端口号等等,这里不再过多介绍,有需要的伙伴可以查询官方文档。

这四种方法我们任选其一配置好DEBUG参数后,再次运行程序,Pycharm运行栏里的信息告诉我们DEBUG功能已经开启:

在这里插入图片描述

然后回到浏览器刷新页面,会发现客户端会给出了准确的代码错误,告诉你这是一个除零错误,所以我们只需要去找有关代码即可:

在这里插入图片描述

综上为本文全部内容,主要介绍了flask程序中两个比较重要的参数:app应用对象的初始参数和debug参数,以及四种配置debug参数的基本方法。

本文参考资料: [1].《Flask入门教程》.李辉著 [2].www.bilibili.com/video/BV1yt… [3].Flask中英文档 如果你对这个系列感兴趣,欢迎关注公众号【奶糖猫】第一时间跟进后续更新~