1. Flask 中的Hello World!
在使用pycharm创建一个Flask项目后,将会默认创建一个flask的app,这里来讲下每行代码表示的意义,代码入下
from flask import Flask # 导入flask模块 如果没有这个模块需要使用pip install flask 进行安装 app = Flask(__name__) # 实例化一个flask实例,flask会根据传入参数,确定应用的路径,静态文件和模板文件的默认路径 @app.route('/') # 应用的路由部分
def hello_world():
return 'Hello World!' # 该路由指向的函数部分 if __name__ == '__main__':
app.run() # 运行flask应用
运行程序后在浏览器输入http://localhost:5000就可以看到Hello World!,这就是一个最简单的Flask应用,使用ctrl+c来停止服务。
注意:
1.在使用flask编写应用时,如果对代码进行了修改,需要手动的重启服务才会生效,Flask有一个调试模式可以优化这个问题,并且在启动了调试支持后,不仅修改代码后服务会自动重启,而且代码在出现错误后会提供一个有用的调试器,调试支持允许执行代码,存在安全风险,决不能用于生产环境(添加调试支持的两种方法:1.app.debug=True;2.app.run(debug=True))
2.在使用app.run()启动应用后,会默认监听127.0.0.1的5000端口,如果想让外部机器访问只需要在run方法中加入参数来指定服务运行的IP、端口,线程进程等。run方法可以添加很多参数,后期继续讲。
2.Flask路由
flask的路由系统就是一个@app.route的装饰器,在这个装饰器中可以填入多个参数,这里的route装饰器就是把一个视图绑定到URL上。例如:
# 利用路由系统给URL绑定不同的视图函数
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/user')
def user():
return 'Hello User!'
除此之外,Flask也可以动态的构造URL的特定部分,把动态的值传递给视图函数来使用,例如:
@app.route('/user/<username>') # 接收一个动态的值传递给视图函数,视图函数又将动图数据返回给前端
def username(username):
return 'Hello {username}'.format(username=username)
# 同时也可以指定一个可选的转化器,指定动态值的类型
# 例子:<int:age>
# int 接受整数
# float 接受浮点数
# path 接受带有斜线的字符串
asdfasdf阿斯蒂芬sdfasdf