装饰器作为 Python 中一个很重要的组成部分,除了装饰器的常规用法之外,本文只是介绍一下装饰器的延迟用法。本文中出现的代码是基于Flask框架。
在main.py文件中有如下代码:
# 本期主题是利用装饰器的延后使用解决循环导入的问题
from flask import Flask
from login import login
from register import register
# 创建Flask的实例化对象
app = Flask(__name__)
# 注册路由函数
@app.route("/")
def index():
return 'index page'
@app.route('/register/')
def register():
return 'register page'
@app.route('/login/')
def login():
return 'login page'
if __name__ == '__main__':
app.run(debug=True)
在web开发过程中,我们通常需要注册多个视图,如果将多个视图逻辑存放在一个py文件中,导致 Py文件代码冗余,不便于复用。我们将不同视图提取出来,作为一个独立的py文件:
login.py
from main import app
@app.route('/login/')
def login():
return 'login page'
register.py
from main import app
&