详解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()
当您在终端或命令行中执行以下命令时:文章来源:https://www.toymoban.com/news/detail-466993.html
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模板网!