《flask web 开发》笔记 -- (2)? 程序基本结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《flask web 开发》笔记 -- (2)? 程序基本结构相关的知识,希望对你有一定的参考价值。
- 创建第一个flask程序:
from flask import Flask app = Flask(__name__) @app.route(‘/‘) def hello_world(): return ‘Hello World!‘ if __name__ == ‘__main__‘: app.run()
- 此处知识点:__name__ ,而且有两处
- 第一处 app = Flask(__name__)
#解释: 将构造函数的name参数传给Flask程序,flask用这个参数决定程序的根目录,以便稍后能找到相对于程序根目录的资源文件位置
- 第二处 if __name__ == ‘__main__‘
查阅官方文档可知:一个模块的模块名(做为一个字符串)可以由全局变量 __name__
得到。__下划线表示它是系统内建的属性,我们来看下面代码。
1. 如果模块是被直接执行,__name__的值为’__main__’,以下为验证
#建一个文件kk.py,内容只有如下两条 print "I‘m the first." if __name__=="__main__": print "I‘m the second." #直接运行程序,得到输出,验证了我们的想法,直接执行时__name__ I‘m the first. I‘m the second. #得证,直接执行时确实为__main__
2. 如果模块是被导入,__name__的值为模块名字,比如kk.py被导入,则__name__ == kk
#在同文件夹下建立kk2.py, 在kk2.py中输入 import kk.py #在shell中执行python kk2.py #输出,没有第二句 I‘m the first.
#因为kk.py是被导入的,它的__name__是它的模块名kk,所以不再执行后半句输出
以上是关于《flask web 开发》笔记 -- (2)? 程序基本结构的主要内容,如果未能解决你的问题,请参考以下文章
《Flask web开发》笔记5:大型程序的结构&用户认证Flask-Login