Python Pyramid:config.set_request_属性回调从未被调用
我正在尝试使用config.set_request_属性设置回调,但从未调用该回调。没有错误消息,只是默默地失败了。为什么它不起作用?我怎样才能找到问题所在 以下是我在我的_uinit中使用的代码: 有人能在这里看到我的错误吗?来自API文档: callable可以是接受请求作为其单个位置参数的callable[…] 现在我不知道这是否会导致您的问题,但它需要接受工作请求,尽管我预计会引发异常,而不是静默故障。来自API文档: callable可以是接受请求作为其单个位置参数的callable[…]Python Pyramid:config.set_request_属性回调从未被调用,python,pyramid,Python,Pyramid,我正在尝试使用config.set_request_属性设置回调,但从未调用该回调。没有错误消息,只是默默地失败了。为什么它不起作用?我怎样才能找到问题所在 以下是我在我的_uinit中使用的代码: 有人能在这里看到我的错误吗?来自API文档: callable可以是接受请求作为其单个位置参数的callable[…] 现在我不知道这是否会导致您的问题,但它需要接受工作请求,尽管我预计会引发异常,而不是静默故障。来自API文档: callable可以是接受请求作为其单个位置参数的callable[
现在我不知道这是否会导致您的问题,但它需要接受工作请求,尽管我预计会引发异常,而不是静默失败。我看到的唯一错误是您没有向我们显示您在哪里使用该属性?只有在您调用属性时才会调用它们。您是否有在视图中调用request.user的代码,并且由于该属性不存在而出现错误?如果您希望每个请求都自动调用该函数,这正是set_request_属性试图避免的。我看到的唯一错误是您没有向我们显示您在哪里使用该属性?只有在您调用属性时才会调用它们。您是否有在视图中调用request.user的代码,并且由于该属性不存在而出现错误?如果您希望每个请求都自动调用该函数,这正是set_request_属性试图避免的。这是一个很好的猜测,也是一个很好的更正,但我尝试了包含一个请求参数,结果没有什么不同。我已经用你的更正更新了我的示例。这是一个很好的猜测和更正,但是我尝试了包含一个请求参数,结果没有什么不同。我已经用你的更正更新了我的示例。这就是问题所在。我没有调用属性,因此没有调用函数。谢谢你的帮助,这就是问题所在。我没有调用属性,因此没有调用函数。谢谢你的帮助。
def callbackTest(request):
print 'Callback worked!'
return True
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
# pyramid_beaker add-on
session_factory = session_factory_from_settings(settings)
set_cache_regions_from_settings(settings)
config = Configurator(root_factory=MongoRootFactory(settings), session_factory=session_factory, settings=settings)
config.add_static_view('gfx', 'gfx', cache_max_age=3600)
config.add_static_view('fonts', 'fonts', cache_max_age=3600)
config.add_static_view('css', 'css/compiled', cache_max_age=3600)
config.add_static_view('js', 'js/compiled', cache_max_age=3600)
print 'callbackTest callback should be set...'
config.set_request_property(callbackTest, 'user', reify=True)
#********************************************************
# Authentication
#********************************************************
authn_policy = AuthTktAuthenticationPolicy(secret='asecret',
callback=groupfinder)
authz_policy = ACLAuthorizationPolicy()
config.set_authentication_policy(authn_policy)
config.set_authorization_policy(authz_policy)
#********************************************************
# View setup
#********************************************************
config.add_route('IndexTest', '/')
config.add_route('Home', '/h')
config.scan()
return config.make_wsgi_app()