详解Python的Flash框架的常用语句 app = Flask(__name__),为什要以全局变量__name__作为初始化参数?

这篇具有很好参考价值的文章主要介绍了详解Python的Flash框架的常用语句 app = Flask(__name__),为什要以全局变量__name__作为初始化参数?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

详解Python的Flash框架的常用语句:

app = Flask(__name__)

这一语句创建了一个Flask应用程序对象。

Flask是一个基于Python的轻量级Web框架,用于构建Web应用程序。在使用Flask时,我们需要创建一个Flask应用程序对象,该对象将充当我们构建Web应用程序的核心。

在初始化名叫app的对象时,为什以要以特殊全局变量__name__作为初始化值,这是理解这条语句的难点。

答案是这是为了方便Flask确定相关文件的路径,具体解释如下:

当脚本作为主程序运行时(此时__name__的值为__main__),Flask会将应用程序的根路径设置为脚本所在的目录。

假设您有以下的目录结构:

/myapp
  ├── app.py
  └── templates
      └── index.html

app.py是您的Flask应用程序脚本,templates是存放模板文件的目录。

app.py脚本中,使用以下代码创建Flask应用程序对象:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello, Flask!'

当您在终端或命令行中执行以下命令时:

python /myapp/app.py

此时,由于__name__的值为__main__,所以Flask就知道了,脚本文件app.py所在的目录就是Flask相关功能函数所在的目录,此时Flask会将自己的根路径设置为/myapp,因此,Flask会在该路径下查找静态文件和模板文件。

现在,让我们考虑脚本作为模块被导入的情况。假设您有以下的目录结构:

/swh
  ├── run.py
  └── myapp
      ├── __init__.py
      └── views.py

run.py是一个简单的脚本,用于启动应用程序,而myapp是一个Python模块,其中包含Flask应用程序的定义。

/swh/myapp/__init__.py模块中,使用以下代码创建Flask应用程序对象:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello, Flask!'

/swh/run.py脚本中,使用以下代码导入并启动Flask应用程序:

from myapp import app

if __name__ == '__main__':
    app.run()

当您在终端或命令行中执行以下命令时:

python /swh/run.py

Flask应用程序会发现__name__的值不为__main__,于是它就知道了它不应该把其相关路径设置为 /swh/,而应该设置为/swh/myapp/,然后在Flask会在该路径下查找静态文件和模板文件。文章来源地址https://www.toymoban.com/news/detail-466993.html

到了这里,关于详解Python的Flash框架的常用语句 app = Flask(__name__),为什要以全局变量__name__作为初始化参数?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 已经安装了 python 库,但是为什么调用不了;ModuleNotFoundError: No module named ‘xxx库名‘

    ModuleNotFoundError: No module named ‘autox’ 但是通过 pip list 查看是可以发现这个库的!!!! 最近在尝试一些 自动机器学习方面的内容Auto ML,于是就装了一下 autox 这个库。将 github 上的仓库克隆下来之后,进入该仓库的主文件目录,使用 下面的指令进行安装。 通过 pip list 查看

    2024年02月12日
    浏览(48)
  • (十四)Flask之闪现flash

    这可不是LOL或是王者荣耀里的闪现哦~ Flask 中的 “闪现”(flash)是一种 在请求之间传递消息的机制。它允许你将一条消息保存在一个请求中,在下一个请求中获取并显示该消息,然后立即将其删除 【设置完之后阅后即焚!】。 Flask 中的闪现机制涉及以下两个函数: flash(

    2024年02月04日
    浏览(35)
  • Python学习十二:Flask框架

    Flask 依赖两个外部库:WerkZeug 和 Jinja2。WerkZeug 是一个WSGI(在web应用和多种服务器之间的标准Python 接口)工具集。Jinja2负责渲染模板。所以在安装Flask之前,需要安装这两个外部库,而最简单的方法就是使用 Virtualenv 创建虚拟环境 1.1.1 安装Virtualenv 检验 1.1.2 创建虚拟环境 下一步

    2024年02月01日
    浏览(37)
  • Python Web框架 Flask 安装、使用

    Python Web框架 Flask 安装 安装 Flask 框架 首先需要安装 Flask 框架, 可以通过以下命令安装: 创建 Flask 应用程序 在本地创建一个文件夹,例如叫 myapp ,在该文件夹中创建一个 Python 文件 app.py ,并在其中编写以下代码: 在上面的代码中,我们导入 Flask 框架,并创建了一个名为 ap

    2024年02月17日
    浏览(43)
  • Python框架之Flask入门和视图

    需要安装 Pycharm专业版 Python后端的2个主流框架 Flask 轻量级框架 Django 重型框架 Flask是一个基于Python实现的web开发微框架 官方文档:https://flask.palletsprojects.com/ 中文文档:https://dormousehole.readthedocs.io/ Flask是一个基于MVC设计模式的Web后端框架 MVC: M: Model 数据模型 V: View 界面 C:

    2024年02月06日
    浏览(41)
  • python~Flask框架建立web应用

    通过python来开发web应用,可以产简化了web开发的流程,功能和函数库也是非常丰富,我们也是开箱即用,目前比较流程的WEB框架就是Flask和django。 根据2020年JetBrains Python开发人员调查,Django和Flask是迄今为止最受欢迎的两个Python Web框架。 考虑到Web开发行业在过去五年左右的时

    2024年02月07日
    浏览(58)
  • 【python】flask模板渲染引擎Jinja2,流程控制语句与过滤器的用法剖析与实战应用

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年04月11日
    浏览(43)
  • 【小沐学Python】Python实现Web服务器(Flask框架扩展:Flask-Admin)

    flask作为一个微框架,Flask 允许您以很少的开销构建 Web 服务。 它为您(设计师)提供了自由,以适合您的方式实施您的项目 特定应用。 一个最小的 Flask 应用如下: Flask-Admin是一个batteries-included,易于使用的Flask扩展,可让您 向 Flask 应用程序添加管理界面。它的灵感来自 d

    2024年02月02日
    浏览(85)
  • Python光速入门 - Flask轻量级框架

            FlASK是一个轻量级的WSGI Web应用程序框架,Flask的核心包括Werkzeug工具箱和Jinja2模板引擎,它没有默认使用的数据库或窗体验证工具,这意味着用户可以根据自己的需求选择不同的数据库和验证工具。Flask的设计理念是保持核心简单,同时提供强大的扩展性,用户

    2024年03月14日
    浏览(100)
  • Python flask-restful 框架讲解

    Django 和 Flask 一直都是 Python 开发 Web 的首选,而 Flask 的微内核更适用于现在的云原生微服务框架。但是 Flask 只是一个微型的 Web 引擎,所以我们需要扩展 Flask 使其发挥出更强悍的功能。 python flask框架详解:https://blog.csdn.net/shifengboy/article/details/114274271 Flask-RESTful Flask-RESTful 就

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包