Flask中的一些问题的初步汇总二

版权声明:欢迎读阅 https://blog.csdn.net/weixin_44266137/article/details/85252734

对于初学Flask的朋友们来说,怎么去创建路由,指定路径,可能会有一些疑惑。我直接上代码了。注释里会提到对应的方法,及注意事项。

启动Flask。在命令窗口输入项目路径,找到之后,运行命令 python 文件名.py
列举如下数据,如果有说明服务运行正常

 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 240-758-350
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
# -*- encoding: utf-8 -*-
# 导包, 导入重定向功能,导入站内跳转包, jsonify强转为json格式
from flask import Flask, redirect, url_for, jsonify

# 建立flask对象
# 我们把所有的配置放在一起
app = Flask(__name__)

# 从外部引入配置文件,用于加载
app.config.from_pyfile('config.ini')

# 使用flask路由器。指定网址和控制器
@app.route('/')
def index():
    return "hello world"

# 给网址增加参数功能,使用<变量名称>,路由方法要和路由定义的参数同步
# 路由器可以传参数,也可以传多个参数
@app.route('/hello/<id>/<name>')
def hello(id, name):
    print(id, name) # 在服务上打印传进去的参数
    return "hello,你的参数是%s, %s" % (id, name)

# 使用重定向模块来进行跳转(短网址跳转) 跳转到其他页面。方便用与很长的网址跳转
@app.route('/one')
def reulr():
    # return redirect('http://192.168.1.238/') # 跳转到哪个网站
    # return redirect('http://www.baidu.com/') # 跳转到任意的网站
    return redirect('http://localhost:5000/') # 跳转到本站


# 使用url_for方法来跳转本站简易的跳转,参数指定路由方法名称
@app.route('/two')
def reurl_in():
    return redirect(url_for('index')) # 跳转到定义的方法。

# 使用jsonify模块来让网页直接显示json数据
# 实际是接口开发 被访问是get 或者是 post 的俩种接收方式
# 以json吐数据
# @app.route('/json', methods=['GRT','POST']) # 可以只留post方式
@app.route('/json', methods=['POST']) # 可以只留post方式,那么就会走下边的errorhandler方法
def re_json():
    json_dict = {'id':10, 'title':'flask的应用','content':'flask的json格式化'}
    # 使用jsonify来将定义好的数据转换为json格式,并且返回给前端
    return jsonify(json_dict)

# Flask统一对状态码捕获异常
@app.errorhandler(405)
def internal_server_error(e):
    return '这个接口不能被get请求到。只能发送Post请求'


# 捕获404的异常。
@app.errorhandler(404)
def internal_server_error_one(e):
    return '网页不存在或者已经删除'


# 在第一次请求之前调用(不管是谁,启动服务的第一次,第一次访问) 前置访问,钩子
@app.before_first_request
def before_first_request():
    print('这是第一次请求之前调用的方法(before_first_request)') # 优先级更高


# 在每一次请求之前调用,
@app.before_request
# 只要想请求,
def before_request():
    print('每一次请求之前,调用这个(before_request)方法') # 每刷新一次调用一次本方法


# 后置访问,记录行为,存储。方便数据分析
# 在请求之后调用的方法,必须传响应参数,然后将响应内容返回。固定格式,和前置操作的区别
@app.after_request
def after_request(response): # 有请求就有响应
    print('在请求之后,调用这个(after_request)方法')
    return response


# 记录错误的方法 网络环境差,丢包。出的错误保存到log日志
# 在请求之后。调用服务器出现的错误信息
@app.teardown_request
def teardown_request(e): # Error服务器出现的错误信息
    print('打印服务器出现的错误信息调用(teardown_requset)方法。错误的信息是: %s' % str(e))



# 使用程序入口,将flask应用启动
if __name__ == "__main__":
    # 项目上线改为False
    # port用来调整端口号。默认的是5000
    # app.run(debug=True) # debug=true 不用来回停止服务。自动刷新更改的内容
    app.run()


不喜轻喷~

猜你喜欢

转载自blog.csdn.net/weixin_44266137/article/details/85252734
今日推荐