1、Flask初探-快速入门

来源:互联网 发布:淘宝女式长袖衬衣 编辑:程序博客网 时间:2024/04/30 01:36

一、一个最小的应用窥探flask基本结构

from flask import Flask #从flask中导入Flaskapp = Flask(__name__) 创建一个实例@app.route('/') #装饰器、设置路由,需要写在函数前面def hello_world():  #定理一个方法(无参数)    return 'Hello World!'   #返回字符串    #当浏览器访问时,将字符串返回到浏览器页面if __name__ == '__main__':#判断是不是启动文件#确保服务器只会在该脚本被 Python解释器直接执行的时候才会运行,而不是作为模块导入的时候。    app.run() #运行

可以看出app.run()中没有传递参数,实质上里面是个默认参数
app.run(host =’127.0.0.1’)代表本机。

还有以下集中设置方法

app.run(host='0,0,0,0') #代表外部网络可ui访问的公共的app.run(host='127.0.0.1')#代表本机

二、调试模式

你启用了调试支持,服务器会在代码修改后自动重新载入,
并在发生错误时提供一个相当有用的调试器。
有两种途径来启用调试模式。

#第一种再app实例化后调用app.debug = True#第二种作为 run 方法的一个参数传入:app.run(debug=True)

注意:绝对不能用于生产环境

三、路由

route() 装饰器把一个函数绑定到对应的 URL 上

#超级超级基础的演示示例@app.route('/')def index():    return 'Index Page'@app.route('/hello')def hello():    return 'Hello World'/route()里面的东西就是匹配的内容

四、变量规则

·要给 URL 添加变量部分

·你可以把这些特殊的字段标记为

### 第一种,简简单单接收再返回个变量@app.route('/user/<username>')def show(username):    return 'User %s' % username### 第二种,简简单单接收再返回个带类型的参数@app.route('/post/<int:post_id>')def show_post(post_id):    return 'Post %d' % post_id

当然,还有下面几种设置类型的参数

类型名称 功能 int 可接收整数 float 可接受浮点数 path 默认、也可接受斜线

五、解决问题的唯一URL重定向

@app.route(‘/projects/’)里面的内容必须双斜线!!!

六、自己构造URL

### 假装有个写好的方法@app.route('/user/<name>')def showUserName(name):    return 'User %s' %name### 魔术开始,构建URL    @app.route('/redir/<n>')def redir(n):    return redirect(url_for('showUserName',name=n))

它接受函数名作为第一个参数,也接受对应
URL 规则的变量部分的命名参数。

七、使用Flask-Script支持命令行选项

Flask-Script 扩展使用
pip 安装:

(venv) $ pip install flask-script
(注意venv,确保实在虚拟环境下)

### 关键代码from flask_script import Manager### 导入flask_script包manager = Manager(app)实例化manager这样修改完,可以调整一下运行代码if __name__ == '__main__':manager.run()

手动debug升级为自动

命令:python hello.py runserver -d -r --host 0.0.0.0###  -d  debug 设置为debug模式,而不是run模式###  -r reload 设置自动重新载入(app.debug为True)

  • Thanks for reading! *

原创粉丝点击