所有模板中都可用的用户名

发布于 2024-11-03 06:26:53 字数 178 浏览 1 评论 0原文

我正在尝试使当前登录的用户名在所有模板中可用。我可以从pyramid.security.authenticated_userid 接收它,但要做到这一点,我需要请求对象。我尝试通过 BeforeRender 订阅,但据我所知,请求未传递给该回调。

我还能如何使用户名随处可用(或实际上在基本模板中)?

I'm trying to make the currently logged in username available in all templates. I can receive it from pyramid.security.authenticated_userid, but to do that I need the request object. I tried to go via the BeforeRender subscription, but as far as I can tell, the request in not passed to that callback.

How else can I make the username available everywhere (or in the base template really)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

琴流音 2024-11-10 06:26:53

一种常见的方法是通过此 cookbook Recipe

另一种可能性是按照您的建议使用 BeforeRender 订阅者附加它。 请求可从事件获取:

def add_renderer_globals(event):
    request, context = event['request'], event['context']
    event['user'] = authenticated_userid(request)

A common method is to attach the user object to the request via this cookbook recipe.

Another possibility is to attach it as you suggested using a BeforeRender subscriber. The request is available from the event:

def add_renderer_globals(event):
    request, context = event['request'], event['context']
    event['user'] = authenticated_userid(request)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文