学习FLASK框架01
安装(Python 3.8.1(windows))
打开cmd输入以下命令安装flask包
python -m pip install flask
一个最小的应用
在pycharm中创建.py文件
# 导包
from flask import Flask
# 实例化Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
app.run(debug=True)
如果你使用 一个单一模块(就像本例),那么应当使用 name ,因为名称会根据这个 模块是按应用方式使用还是作为一个模块导入而发生变化。
如果应用程序是在application/app.py中定义的,那么应该使用下面两个方法之一创建它:
app = Flask('yourapplication')
app = Flask(__name__.split('.')[0])
路由
现代 web 应用都使用有意义的 URL ,这样有助于用户记忆,网页会更得到用户的青睐, 提高回头率。
@app.route('/')
def index():
return 'Index Page'
@app.route('/hello/')
def hello():
return 'Hello World'
当我们在本地浏览器输入 URL后效果如下:
变量规则
通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 converter:variable_name ,可以 选择性的加上一个转换器,为变量指定规则。使用 route() 装饰器来把函数绑定到 URL。请看下面的例子:
1、string
@app.route('/user/<username>/')
def show_user(username):
return 'user: {}'.format(username)
当在浏览器中传入url: http://127.0.0.1:5000/user/test/ 效果如下:
2、int
@app.route('/post/<int:post_id>/')
def show_post(post_id):
return 'Post id : {}'.format(post_id)
当传入int型数据时,效果如下:
若传入string或float型数据:
转换器类型:
唯一的 URL / 重定向行为
以下两条规则的不同之处在于是否使用尾部的斜杠
1、不在尾部加斜杠(app.route(’/test’))
# 不加斜杠
@app.route('/test')
def test():
return 'test no /'
输入的url也不加斜杠(浏览器地址栏最后不自动在尾部加斜杠):
输入的url加斜杠:
2、在尾部加斜杠(app.rout(’/newtest/’)
@app.route('/newtest/')
def newtest():
return 'test has / '
输入url不加斜杠(访问一个没有斜杠结尾的 URL 时 Flask 会自动进行重定向,帮你在尾部加上一个斜杠。):