学习Flask第一天
from flask import *
from flask import jsonify
from werkzeug.routing import BaseConverter
# class RegexConverter(BaseConverter):
# """自定义正则转换器"""
# # regex = "[a-z]{0,3}"
# # 更灵活的自定义正则转换器
# def __init__(self,url_map,*args):
# super(RegexConverter,self).__init__(url_map)
# # 取re列表第零项
# self.regex = args[0]
#两个自定义转换器函数to_python/to_url
# def to_python(self, value):
# """当匹配到参数之后对其操作返回给视图函数"""
# return value.split('a')
# def to_url(self, value):
# """在使用url_for处理参数"""
# data = ",".join(str(v) for v in value)
# return data
app = Flask(__name__)
# 将转换器添加到默认的列表
@app.before_first_request
def run1():
"""在第一次请求之前访问该函数---是否是登陆/黑名单"""
print('111111111111')
@app.before_request
def run2():
"""每次请求之前---是否是登陆"""
print('2222222222')
@app.after_request
def run3(response):
"""在请求之后调用,并且函数接受一个参数,响应return返回值"""
print("sadsadasdsa")
return response
@app.teardown_request
def run4(error):
"""请求之后如果报错就进入---与debug冲突""""
print(error)
@app.route('/')
def index0():
return "首页1"
@app.route("/add")
def add():
return "首页2"
# app.url_map.converters["re"] = RegexConverter
# <int/string :xx>定义xx对象/参数类型
# /<re('[a-z]{0,3}')传递参数,更灵活转换器
# @app.route("/<re('[a-z]{0,5}'):id>")
# def index(id):
# dic = {
# "name":id
# }
# return jsonify(dic)
# @app.route('/redi')
# def demo():
# # 重定向到自己写的视图函数
# # url_for取函数url-路由
# dat = "12345"
# return redirect(url_for('index',id=dat))
if __name__ == '__main__':
app.run(port=9930)

浙公网安备 33010602011771号