本文主要内容:
1.初始化flask项目
2.路由和视图函数
3.启动服务器
上一篇主要介绍了如何用pycharm建立python虚拟环境以及新建flask项目,从本章开始编写第一个flask web程序。
1. 初始化
所有flask程序都必须创建一个程序实例。web服务器使用一种名为web服务器网关接口的协议(WSGI),把接收自客户端的所有请求都转交给这个对象处理。程序实例是Flask类的对象,用下面的代码创建:
from flask import Flask
app = Flask(__name__)
这是最简单的初始化方式,app是Flask类的一个对象。
2. 路由和视图函数
浏览器把请求发给web服务器,web服务器再把请求发送给Flask程序实例(就是上面的app),这时候app需要知道对于每个URL请求要运行程序里的哪些代码(python函数),所以就要有一个URL到Python函数的映射,称为路由。
定义路由:
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
这里的index称为视图函数,负责响应浏览器的URL请求,函数的返回值称为响应,这里如果访问类似http://www.example.com/ 后,就会触发index函数,原因就在于@app.route('/'),括号里的斜杠定义了网站根目录到函数index的映射。
如果是地址后面有可变部分,则用下面的代码定义:
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, %s!</h1>' % name
3.启动服务器
启动服务器代码如下:
if __name == '__main__':
app.run(debug=True)
run方法可以启动flask集成的web服务器,其中debug参数可以设定是否开启调试模式。
4.完整的代码
打开pycharm,在project栏下右键项目文件夹,New-Python File新建一个hello.py文件,键入下面的代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, %s!</h1>' % name
if __name__ == '__main__':
app.run(debug=True)
在pycharm菜单栏上点击Run-Run,来启动程序。成功后可以通过访问http://127.0.0.1:5000/ 和http://127.0.0.1:5000/user/yourname 来查看效果。