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