1. 首页

连载:小白学Flask第二天| app对象的初始化和配置

本文主要内容:

  1. flask应用对象初始化参数说明
  2. 静态文件目录与路由说明
  3. flask的配置参数设置
  4. app的run使用说明

flask应用对象初始化参数说明

昨天我们写了第一个Flask程序,我们来回顾一下代码:

from flask import Flask

# 创建Flask的应用对象
app = Flask(__name__)    # __name__ 就是当前模块的名字

# 装饰器,绑定视图函数的路径
@app.route('/')
def hello_world():
    # 视图函数
    return 'Hello World!'

if __name__ == '__main__':
    # 运行本地服务器进行测试flask程序
    app.run()

今天我们就来详细的讲解每一句的含义,这对于我们新接触一个框架是十分有必要的。

首先我们来说说

app = Flask(__name__)    # __name__ 就是当前模块的名字

name是当前模块的名字,可是在第12行的判断语句中写着:

if __name__ == '__main__':
    # 运行本地服务器进行测试flask程序
    app.run()

难道模板名字叫main吗?我应该是我创建的py文件的文件名吗?其实这里有一个小知识点,当我们把某个模板当做启动模板时,那么这个模板的name会默认成为main,如果不是作为启动模板,也就是我们导入到启动模板当中的模板名称才会是文件的文件名

连载:小白学Flask第二天| app对象的初始化和配置

上面这张图就是我们再demo.py文件中直接运行的,也就是说此时的demo.py模板作为了启动模板。

连载:小白学Flask第二天| app对象的初始化和配置

这张图是我们将demo模板导入到app模板当中,我们可以看到打印出来的模板名称是demo自己本身的文件名。

相信大家大概明白name的意思了。

除了__name__这个参数,其实Flask的应用对象还可以放一些参数。

static_url_path: 访问静态资源的url前缀
static_folder: 默认‘static’
template_folder: 默认‘templates’

咱们一个一个来说,首先贴出我们的目录

连载:小白学Flask第二天| app对象的初始化和配置

static_url_path: 访问静态资源的url前缀

这个参数大部分人会认为就是静态资源的路径,其实大错特错,他只是访问静态资源的一个url前缀,跟路径没有半毛钱关系。

app = Flask(__name__, static_url_path="/python")

例如上面,我把访问静态资源的url前缀改为python,然后我去static文件夹创建一个html文件

连载:小白学Flask第二天| app对象的初始化和配置

那么我该如何去访问这个html文件呢?

连载:小白学Flask第二天| app对象的初始化和配置

当我们访问http://127.0.0.1:5000/static/index.html时,会发现找不到

连载:小白学Flask第二天| app对象的初始化和配置

当我们访问http://127.0.0.1:5000/python/index.html时,发现html源码正常显示。

通过这样的演示,大家应该能够知道static_url_path参数的含义。

讲完这个参数,那么来下一个static_folder: 默认‘static’,其实这个参数才是真正的静态文件的路径,路径可以是绝对路径也可以是相对路径,他所对应的路径就是静态文件所在的地方。

最后一个参数 template_folder: 默认‘templates’ ,这个参数非常容易理解,就是模板文件的目录。

Flask的配置参数设置

有关于Flask的配置有几种方法,我一个一个讲

1. 通过配置文件来设置

我们首先在根目录创建一个文件 config.cfg

连载:小白学Flask第二天| app对象的初始化和配置

我们在配置文件中设置一个参数,配置文件写好了,我们回到app.py

我们怎么去使用这个配置文件呢?

app.config.from_pyfile("config.cfg")

通过上面这句代码就OK了,我们看看效果:

连载:小白学Flask第二天| app对象的初始化和配置

2. 直接进行配置

app.debug = True

直接添加一个即可,当然这种只适用于不需要添加太多的配置参数。

其实还有其他的一些配置方式,但是掌握这两种配置方式就差不多了。

app的run使用说明

在app的run方法中含有两个参数

app.run(host="127.0.0.1", port="5000")

第一个则是你要开启的ip地址,第二个则是你所打开的端口。

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文来源于网络,其版权属原作者所有,如有侵权,请与小编联系,谢谢!

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:连载:小白学Flask第二天| app对象的初始化和配置

链接:https://www.javascriptc.com/244.html

原文链接:https://mp.weixin.qq.com/s/qGGHZEz-zhoNbKf2kIhxfw

« 小白Markdown语法教程
连载:小白学Flask第一天 | 我的第一个Flask程序»
Flutter 中文教程资源

相关推荐

QR code