Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 金字塔-螺纹局部不';t在响应内部工作';s app_iter_Python_Pyramid_Thread Local_Webob - Fatal编程技术网

Python 金字塔-螺纹局部不';t在响应内部工作';s app_iter

Python 金字塔-螺纹局部不';t在响应内部工作';s app_iter,python,pyramid,thread-local,webob,Python,Pyramid,Thread Local,Webob,使用以下示例代码: from webob import Response from paste.httpserver import serve def test_iter(): from pyramid import threadlocal yield 'current request: %s' % threadlocal.get_current_request() def hello_world(request): return Response(app_ite

使用以下示例代码:

from webob import Response
from paste.httpserver import serve


def test_iter():
    from pyramid import threadlocal
    yield 'current request: %s' % threadlocal.get_current_request()


def hello_world(request):
    return Response(app_iter=test_iter())


if __name__ == '__main__':
    from pyramid.config import Configurator
    config = Configurator()
    config.add_view(hello_world)
    app = config.make_wsgi_app()
    serve(app, host='0.0.0.0')
我收到当前请求:无。所以,
threadlocal
app\u iter
中不起作用?我有实际的代码,需要访问视图之外的几层
threadlocal
,传递
请求变量会很麻烦。

可能有错误

return Response(app_iter=test_iter())


根据本文,线程本地堆栈应该在使用app_iter之后才会弹出(参见步骤16和18),尽管我在尝试运行示例时看到了与您相同的行为。由于文档和行为冲突其中一个是错误的,我建议金字塔的人使用。

app\u iter
需要一个迭代器。只传入
test\u iter
将导致错误
TypeError:“function”对象不可iterable
。啊,这实际上是预期的行为。
return Response(app_iter=test_iter)