Python Decorators, Flask, Args



我想知道为什么当我去路线时'/al6759@school.edu/info',控制台打印

()
al6759@school.edu

为什么即使向user_info发送了一个值,args也是空的?我试图提供解决问题所需的最少数量的代码。提前谢谢。

from flask import Flask, render_template, request, redirect, session
from functools import wraps

def security(f):
@wraps(f)
def wrap(*args, **kwargs):
print(args)
return f(*args, **kwargs)
return wrap

@app.route('/<email>/info', methods=['POST', 'GET'])
@security
def user_info(email):
print(email)
return render_template('user_info.html')

我认为您希望在装饰器中打印kwargs['email']

例如:

def security(f):
@wraps(f)
def wrap(*args, **kwargs):
print('email from kwargs: ', kwargs['email'])
print('kwargs: ', kwargs)
return f(*args, **kwargs)
return wrap

将给出输出:

email from kwargs:  al6759@school.edu
kwargs:  {'email': 'al6759@school.edu'}
al6759@school.edu

相关内容

  • 没有找到相关文章

最新更新