flask基本用法

# -*- coding:utf-8 -*-  # 声明代码编码为UTF-8,确保中英文都能正常显示  
  
# 导入所需的库  
from flask import Flask, request, jsonify  # 导入Flask框架,request对象和jsonify函数  
from werkzeug.utils import redirect  # 导入重定向工具  
  
app = Flask(__name__)  # 创建一个Flask应用实例,使用当前文件名作为模块名  
  
from flask_cors import CORS, cross_origin  # 从flask_cors库中导入CORS和cross_origin  
cors = CORS(app)  # 初始化CORS,允许跨域请求  
  
# 设置JSON的编码方式,支持中文显示  
app.config['JSON_AS_ASCII'] = False  
  
# 定义根路由,返回"hello world"  
@app.route("/")  
def hello_world():  
    return "hello world"  
  
# 定义"/hey/<username>/"路由,接收一个参数username,返回"hey [username]"  
@app.route("/hey/<username>/")  
def hey_yingyong(username):  
    return "hey %s" % username  
  
# 定义"/my_number/<int:number>/"路由,接收一个整数字段number,返回"my [number*2]"  
@app.route("/my_number/<int:number>/")  
def my_number(number):  
    return "my %s" % (number+number)  
  
# 定义"/my_float/<float:number>/"路由,接收一个浮点数字段number,返回"my [number*2]"  
@app.route("/my_float/<float:number>/")  
def my_float(number): return "my %s" % (number+number)  
  
# 定义"/baidu/"路由,重定向到百度首页  
@app.route("/baidu/")  
def baidu():  
    return redirect("http://www.baidu.com")  
  
# 定义"/json"路由,返回一个JSON格式的字典列表  
@app.route("/json")  
def json():  
    dict = [{"name":'张三'}, {"gender":'男'}]  
    return jsonify(dict)  
  
# 定义"/p"路由,只接受GET请求,返回"hello_world"字符串  
@app.route("/p", methods=["GET"])  
def he():  
    return "hello_world"  
  
# 定义"/test/my/first"路由,处理POST请求,对请求中的JSON数据进行处理并返回结果  
@app.route("/test/my/first", methods=["POST"])  
def first_post():  
    try:  
        my_json = request.get_json()  # 从请求中获取JSON数据  
        print(my_json)  # 打印JSON数据内容,仅在调试时使用,生产环境中应删除此行代码  
        get_name = my_json.get("name")  # 从JSON中获取name字段的值,如果不存在则返回None  
        get_age = my_json.get("age")  # 从JSON中获取age字段的值,如果不存在则返回None  
        if not all([get_name,get_age]):  # 如果name和age字段都不存在,返回错误信息"缺少参数"  
            return jsonify(msg="缺少参数")  
        get_age += 10  # 将age字段的值增加10岁  
        return jsonify(name=get_name, age=get_age)  # 返回处理后的JSON数据,包括name和age字段的值  
    except Exception as e:  # 如果在处理过程中出现任何异常,捕获并打印异常信息,然后返回错误信息"出错了哦,请查看是否正确访问"  
        print(e)  # 打印异常信息,仅在调试时使用,生产环境中应删除此行代码  
        return jsonify(msg="出错了哦,请查看是否正确访问")  # 返回错误信息"出错了哦,请查看是否正确访问"

 

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注