flask-重定向等内部视图

2022-07-22  本文已影响0人  测试探索

一、redirect()实现重定向

from flask import Flask,current_app,request,make_response,render_template,redirect

app = Flask(__name__)

@app.route("/index")
def index():
    return "index"

@app.route('/')
def hello_world():
    """视图函数.访问/时,重定向到/index这个页面"""
    return redirect('/index')

if __name__ == '__main__':
    app.run(debug=True)
image.png

abort()处理错误

from flask import Flask,current_app,request,make_response,render_template,redirect,abort

app = Flask(__name__)
@app.route('/')
def hello_world():
    abort(404

if __name__ == '__main__':
    app.run(debug=True)
image.png

具体案例模拟,模拟ip拦截,如果ip是被拦截的ip,页面展示“您没有权限访问,请联系管理员开通权限”,如果ip是不需要被拦截的ip,展示’Hello success‘

from flask import Flask,current_app,request,make_response,render_template,redirect,abort

app = Flask(__name__)
@app.route('/')
def hello_world():
    # ip拦截
    ip_list = ['127.0.0.1']
    ip = request.remote_addr
    if ip in ip_list:
        abort(403)
    return "hello sucess"


@app.errorhandler(403)
def forbidden_page(err):
    """你没有权限访问的页面"""
    return '您没有权限访问,请联系管理员开通权限'

if __name__ == '__main__':
    app.run(debug=True)

image.png
上一篇下一篇

猜你喜欢

热点阅读