你好,匿名!我如何在 django...auth 中设置 AnonymousUser 用户名?

Hello, Anonymous! How I set the AnonymousUser username in django...auth?

请在回复 Django 教程答案之前仔细阅读。

我想将 Hello, {{ request.user.username }} 放入模板,如果没有用户登录,它应该 return "Hello, Anonymous"。不是 "Hello, ".

想象一下当这个测试用例失败时我的惊讶:

def test_hello_Anon(self):
    assert 'Anonymous' == auth.models.AnonymousUser().username

有谁知道怎么传吗?最好不要覆盖和重新注册 AnonymousUser class??

我问是因为 if 言论是邪恶的。

Django 有一个非常好用的 default 过滤器:

{{ request.user.username|default:"Anonymous" }}