标签:文件 客户端 font type 状态 option options pytho rect
第一个flask程序
from flask import Flask
Flask函数接收一个参数__name__,它会指向程序所在的包
app = Flask(__name__)
url_map
将装饰器路由和视图的对应关系保存起来@app.route(‘/‘)
def index():
return ‘Hello World‘
if __name__ == ‘__main__‘:
app.run()
Flask 程序实例在创建的时候,需要默认传入当前 Flask 程序所指定的包(模块),接下来就来详细查看一下 Flask 应用程序在创建的时候一些需要我们关注的参数:
__name__
就可以/ + static_folder
static
templates
在 Flask 程序运行的时候,可以给 Flask 设置相关配置,比如:配置 Debug 模式,配置数据库连接地址等等,设置 Flask 配置有以下三种方式:
以下演练以设置应用程序的 DEBUG(调试模式) 为例,设置应用为调式模式这后,可以实现以下功能:
- 程序代码修改后可以自动重启服务器
- 在服务器出现相关错误的时候可以直接将错误信息进行抛出到控制台打印
# 配置对象,里面定义需要给 APP 添加的一系列配置
class Config(object):
DEBUG = True
# 创建 Flask 类的对象,指向程序所在的包的名称
app = Flask(__name__)
# 从配置对象中加载配置
app.config.from_object(Config)
运行测试,在修改代码之后直接保存,会自动重启服务器
config.ini
,在配置文件中添加配置# 创建 Flask 类的对象,指向程序所在的包的名称
app = Flask(__name__)
# 从配置文件中加载配置
app.config.from_pyfile(‘config.ini‘)
在Edit Configrations配置相关的参数
# 创建 Flask 类的对象,指向程序所在的包的名称
app = Flask(__name__)
# 加载指定环境变量名称所对应的相关配置
app.config.from_envvar(‘FLASKCONFIG‘)
注:Flask 应用程序将一些常用的配置设置成了应用程序对象的属性,也可以通过属性直接设置/获取某些配置:app.debug = True
app.run(host="0.0.0.0", port=5000, debug = True)
# 指定访问路径为 demo1
@app.route(‘/demo1‘)
def demo1():
return ‘demo1‘
有时我们需要将同一类 URL 映射到同一个视图函数处理,比如:使用同一个视图函数来显示不同用户的个人信息。
# 路由传递参数
@app.route(‘/user/<user_id>‘)
def user_info(user_id):
return ‘hello %s‘ % user_id
# 路由传递参数
@app.route(‘/user/<int:user_id>‘)
def user_info(user_id):
return ‘hello %d‘ % user_id
这里指定int,尖括号中的内容是动态的,在此暂时可以理解为接受 int 类型的值,实际上 int 代表使用 IntegerConverter 去处理 url 传入的参数
在 Flask 中,定义一个路由,默认的请求方式为:
如果想添加请求方试,那么可以如下指定:
@app.route(‘/demo2‘, methods=[‘GET‘, ‘POST‘])
def demo2():
# 直接从请求中取到请求方式并返回
return request.method
Postman的使用:略.
在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中可以直接使用 jsonify 生成一个 JSON 的响应
# 返回JSON
@app.route(‘/demo4‘)
def demo4():
json_dict = {
"user_id": 10,
"user_name": "laowang"
}
return jsonify(json_dict)
不推荐使用 json.dumps 转成 JSON 字符串直接返回,因为返回的数据要符合 HTTP 协议规范,如果是 JSON 需要指定 content-type:application/json
# 重定向
@app.route(‘/demo5‘)
def demo5():
return redirect(‘http://www.baidu.com‘)
@app.route(‘/demo1‘)
def demo1():
return ‘demo1‘
# 重定向
@app.route(‘/demo5‘)
def demo5():
return redirect(url_for(‘demo1‘))
# 路由传递参数
@app.route(‘/user/<int:user_id>‘)
def user_info(user_id):
return ‘hello %d‘ % user_id
# 重定向
@app.route(‘/demo5‘)
def demo5():
# 使用 url_for 生成指定视图函数所对应的 url,注意url_for括号内要是字符串.
return redirect(url_for(‘user_info‘, user_id=100))
@app.route(‘/demo6‘)
def demo6():
return ‘状态码为 666‘, 666
标签:文件 客户端 font type 状态 option options pytho rect
原文地址:https://www.cnblogs.com/yinjiangchong/p/9260067.html