了解应用程序上下文和视图(路线.py)

2024-05-14 21:06:15 发布

您现在位置:Python中文网/ 问答频道 /正文

看看Flask的应用程序上下文,我发现了一些我不明白的东西。内部路线.py查看函数时,我尝试打印出current_app的内存地址和app_context队列顶部的内存地址,但它们不匹配。是不是current_app应该是top app上下文中的top?你知道吗

功能:

@bp.route('/login', methods=['GET', 'POST'])
def login():
    from flask import current_app, _app_ctx_stack
    print("current_app:({},0x{:X}) _app_ctx_stack.top.app({},0x{:X})".format(current_app, id(current_app), _app_ctx_stack.top.app, id(_app_ctx_stack.top.app)))

输出:

current_app:(<Flask 'pov'>,0x1078A9990) _app_ctx_stack.top.app(<Flask 'pov'>,0x106A7AFD0)

我正在尝试构建一个扩展并遵循文档,我应该修改堆栈顶部的app_context,但是如果这不是current_app,那有什么意义呢?你知道吗

谢谢你的真知灼见。你知道吗


Tags: 函数pyidapp应用程序flaskstacktop
1条回答
网友
1楼 · 发布于 2024-05-14 21:06:15

好吧,我明白了。它的代理。你知道吗

 print("current_app:({},0x{:X}) _get_current_object({},0x{:X}) _app_ctx_stack.top.app({},0x{:X})".format(current_app, id(current_app), current_app._get_current_object(), id(current_app._get_current_object()), _app_ctx_stack.top.app, id(_app_ctx_sta    ck.top.app)))
 current_app:(<Flask 'pov'>,0x10FCE7948) _get_current_object(<Flask 'pov'>,0x10EEB5FD0) _app_ctx_stack.top.app(<Flask 'pov'>,0x10EEB5FD0)

相关问题 更多 >

    热门问题