第一个flask应用代码详解
2018-03-02 18:33
453 查看
上一篇我们创建了第一个简单的flask应用程序,这一篇我们来看一下,这个最简单的应用程序都做了哪些事
第一行代码,导入了flask类
第二步创建了Flask类的实例
这行代码里有一个参数name,这个参数用到告诉flask你的application的名字,官方有一句话:
If you are using a single module,name is always the correct value. If you however are using a package, it’s usually recommended to hardcode the name of your package there.
意思就是说,如果是单一的应用,用name就可以了,如果是一个应用程序包,就hardcode一个名字给这个参数。比如:
由于目前我们的应用都相对简单,所以统一使用name作为参数。
使用route()修饰器注明通过什么样的url可以访问我们的函数,同时在函数中返回要显示在浏览器中的信息
可以通过修改route()修饰器实现不同的url解析,比如,我们改成如下的样子
再次运行程序,访问/index才能显示出hello world, 如图所示:
最后调用run()方法,运行flask web应用程序
其中if name==’main’的意思是,如果此文件是直接运行的才会执行app.run()这个方法,如果是通过import在其它py文件中调用的话是不会执行的
比如我们修改code.py中的hello_world方法,如下:
即当name为main时还是执行原来的逻辑,返回hello world,如果不是则输出此时的名字。
然后我们新建一个sub.py文件然后导入code.py,并且执行hello_world方法
执行sub.py后,输入结果如下:
此时的name是Code而不是main
而此时,在sub.py中加一句print(name)可以发现sub.py中的name变成了main
由此我们可以得出 name 如果是 main 那么代表他是一个入口文件,直接执行的
第一行代码,导入了flask类
from flask import Flask
第二步创建了Flask类的实例
app = Flask(__name__)
这行代码里有一个参数name,这个参数用到告诉flask你的application的名字,官方有一句话:
If you are using a single module,name is always the correct value. If you however are using a package, it’s usually recommended to hardcode the name of your package there.
意思就是说,如果是单一的应用,用name就可以了,如果是一个应用程序包,就hardcode一个名字给这个参数。比如:
app = Flask(“myApp”)
由于目前我们的应用都相对简单,所以统一使用name作为参数。
使用route()修饰器注明通过什么样的url可以访问我们的函数,同时在函数中返回要显示在浏览器中的信息
@app.route('/') def hello_world(): return 'Hello World!'
可以通过修改route()修饰器实现不同的url解析,比如,我们改成如下的样子
@app.route('/index') def hello_world(): return 'Hello World!'
再次运行程序,访问/index才能显示出hello world, 如图所示:
最后调用run()方法,运行flask web应用程序
if __name__ == '__main__': app.run()
其中if name==’main’的意思是,如果此文件是直接运行的才会执行app.run()这个方法,如果是通过import在其它py文件中调用的话是不会执行的
比如我们修改code.py中的hello_world方法,如下:
@app.route('/index') def hello_world(): if __name__=='main': return 'Hello World!' else: return "hello my name is "+__name__
即当name为main时还是执行原来的逻辑,返回hello world,如果不是则输出此时的名字。
然后我们新建一个sub.py文件然后导入code.py,并且执行hello_world方法
import Code def CallCodeFun(): result = Code.hello_world() print(result) CallCodeFun()
执行sub.py后,输入结果如下:
此时的name是Code而不是main
而此时,在sub.py中加一句print(name)可以发现sub.py中的name变成了main
由此我们可以得出 name 如果是 main 那么代表他是一个入口文件,直接执行的
相关文章推荐
- 第一个flask项目代码详解
- 第一个JQuery应用过程详解
- 基于第一个PhoneGap(cordova)的应用详解
- WebSocket详解(二):技术原理、代码演示和应用案例
- 30分钟搭建Python的Flask框架并在上面编写第一个应用
- 基于第一个PhoneGap(cordova)的应用详解
- 新浪云SAE 部署 flask程序详解 打包方式上传代码部署
- Filter(过滤器)常见应用详解(附代码)
- 你的第一个iOS应用(六) 排除错误和检查代码
- 第94讲:Akka第一个案例动手实战MapActor、ReduceActor、AggregateActor代码详解学习笔记
- 初学者 第一个安卓应用详解 eclipse helloworld
- flask教程之创建第一个flask应用
- Storm详解二、写第一个Storm应用
- Android网络开发详解具体应用代码
- PayPal 开发详解(五):创建第一个应用,获取clientId和clientSecret
- 五分钟搞懂后缀数组!后缀数组解析以及应用(附详解代码)
- Storm详解二、写第一个Storm应用
- JSP应用开发详解-VOTE程序-案例代码运行修复PATCH
- POJ 3494 Largest Submatrix of All 1’s 单调栈应用 图解+代码详解
- 第一行代码阅读笔记---详解分析第一个Android程序