利用pycharm学习flask(二)

837 查看

本文主要内容:

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 来查看效果。