你好,匿名!如何在django…auth中设置匿名用户用户名?
在回答Django教程的答案之前,请仔细阅读 我想把你好,匿名!如何在django…auth中设置匿名用户用户名?,django,django-models,django-authentication,Django,Django Models,Django Authentication,在回答Django教程的答案之前,请仔细阅读 我想把Hello,{{request.user.username}}放入一个模板,如果没有用户登录,它应该返回“Hello,Anonymous”。不是“你好” 想象一下当这个测试用例失败时我的惊讶: def test_hello_Anon(self): assert 'Anonymous' == auth.models.AnonymousUser().username 有人知道怎么通过吗?最好不重写和重新注册匿名用户类 我这样问是因为如果语
Hello,{{request.user.username}}
放入一个模板,如果没有用户登录,它应该返回“Hello,Anonymous”。不是“你好”
想象一下当这个测试用例失败时我的惊讶:
def test_hello_Anon(self):
assert 'Anonymous' == auth.models.AnonymousUser().username
有人知道怎么通过吗?最好不重写和重新注册匿名用户
类
我这样问是因为
如果语句是邪恶的。Django有一个完全可用的过滤器:
你考虑过使用自定义上下文处理器吗?我不知道我是否错过了像文件范围中的auth.model.AnonymousUser.username=“anon”
这样简单的东西。我考虑了一个自定义处理器,这就是为什么我添加了“no overriding&re registing”。基本上,我打算建议使用自定义上下文处理器来隐藏模板过滤器,而不是Daniel的示例,这样您的模板代码就是{{username}
,等等,这不会覆盖任何内容。请注意我请求帮助通过的测试。我不了解利用默认值过滤器是如何使您的测试用例通过的…tx-我倾向于对默认值:
处理器技术进行FAQ-尽管它只是一个隐藏的if
。(if
语句是邪恶的,因为“用多态性替换条件”可以解决问题。)
{{ request.user.username|default:"Anonymous" }}