写在前面
flask是一个轻量级的web框架,他的优点很多,而且还有很多框架是收到flask的影响,所以,学习一下没什么坏处。
前置条件
电脑系统:Windows10,64位
python=3.6
编译器: pycharm专业版
开始学习
准备工作
安装Flask
pip instasll flask
开始你的第一个flask程序
创建程序
在你的pycharm中新建一个flask程序,专业版提供直接新建flask程序,如果没有zhuan
专业版也不要紧,直接创建一个项目也是一样。然后写入代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
然后你可以run你的这一段代码,如果没有报错那就说明你现在已经可以通过127.0.0.1:5000访问到你的第一个程序了,它会向这个世界问好。我们对代码做一个解释:
- 我们将flask这个类引入了
- 接下来,我们创建一个该类的实例,第一个参数是应用模块或者包的名称。 如果你使用单一的模块(如本例),你应该使用 name ,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 'main' 或实际的导入名)。这是必须的,这样 Flask 才知道到哪去找模板、静态文件等等。详情见 Flask 的文档。
- 然后是定义了一个hello_world的函数,在这个函数中我们将返回hello world,同时我们使用route这个装饰器告诉 Flask 什么样的URL 能触发我们的函数。
- 最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if name == 'main': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
调试程序
当你在对你的代码修改后,如果你想要在服务器中看到更改那么怎么才能做到呢?你可以使用 Ctrl+c将你本地的服务器停掉然后再跑你的代码,这是不是太麻烦了?当然有更简单的办法,你可以开启debug模式:
app.debug = True
app.run()
--------------------------
app.run(debug=True)
这两个都可以开启。但是这个最好是只是在自己学习的时候使用,flask的文档中对这个有着很重视的说明:
注意
尽管交互式调试器在允许 fork 的环境中无法正常使用(也即在生产服务器上正常使用几乎是不可能的),但它依然允许执行任意代码。这使它成为一个巨大的安全隐患,因此它 绝对不能用于生产环境 。