flask框架学习
1.一个最小的应用
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
- 把它保存成 hello.py (或者类似的文件),然后用 Python 解释器运行它。确保你的应用不叫做 flask.py, 因为这会与 Flask 本身冲突。
- 首先我们导入了类 Flask 。。第一个参数是应用模块的名称。 如果使用的是单一的模块第一个参数应该使用 __name__。
- 接着,创建一个该类的实例。我们传递给它模块或包的名称。这样 Flask 才会知道去哪里寻找模板、静态文件等等。
- 我们使用装饰器 route() 告诉 Flask 哪个 URL 才能触发我们的函数。
- 定义一个函数,该函数名也是用来给特定函数生成 URLs,并且返回我们想要显示在用户浏览器上的信息。
- 最后我们用函数 run() 启动本地服务器来运行我们的应用。
2.如果关闭 debug 或者信任你所在网络上的用户,你可以让你的服务器对外可用,只要简单地改变方法 run() 的调用像如下这样:
app.run(host='0.0.0.0')
3.为了给 URL 增加变量的部分,你需要把一些特定的字段标记成 <variable_name>。这些特定的字段 将作为参数传入到你的函数中。
4.唯一 URLs / 重定向行为
@app.route('/projects/')
def projects():
return 'The project page'
@app.route('/about')
def about():
return 'The about page'
访问一个结尾不带斜线的 URL 会被 Flask 重定向到带斜线的规范URL去。然而,第二种情况的 URL 结尾不带斜线,类似 UNIX-like 系统下的文件的路径名。 访问结尾带斜线的 URL 会产生一个 404 “Not Found” 错误。
5.构建 URL
可以使用函数 url_for() 来针对一个特定的函数构建一个 URL。它能够接受函数名作为第一参数,以及一些关键字参数, 每一个关键字参数对应于 URL 规则的变量部分。