web2py —格式需要映射吗?

发布于 2024-11-28 10:07:08 字数 253 浏览 2 评论 0原文

我已经弄清楚如何让我的网站在用户登录时说“你好,约翰”,但我不知道如何让它不返回错误:

<type 'exceptions.TypeError'>(format requires a mapping)

关于此代码:

return dict(listings=listings, hello='hello %(first_name)s' % auth.user)

I have figured out how to get my site to say 'Hello, John' when the user is logged in, but I can't figure out how to have it not return the error:

<type 'exceptions.TypeError'>(format requires a mapping)

In regards to this code:

return dict(listings=listings, hello='hello %(first_name)s' % auth.user)

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

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

发布评论

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

评论(1

红玫瑰 2024-12-05 10:07:08

也许你的 auth.user 是 None

这是一个快速检查,它会抛出该异常

>>> hello='hello %(first_name)s' % None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: format requires a mapping

你可以尝试这样的事情

hello = 'hello %(first_name)s %s' % auth.user if auth.user else ''
return dict(listings=listings, hello=hello)

Perhaps your auth.user is None

here is a quick check that it would throw that exception

>>> hello='hello %(first_name)s' % None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: format requires a mapping

You could try somthing like this

hello = 'hello %(first_name)s %s' % auth.user if auth.user else ''
return dict(listings=listings, hello=hello)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文