将request.user传递给Django中的模板

Jos*_*nte 3 django django-templates django-views

是否有另一种方法来获取request.user,而不是从视图中传递它?我认为将视图中所有函数的request.user传递给模板是非常错误的.模板是否有任何方法或方式可以获取用户或数据库中的任何对象?

vas*_*sco 8

默认情况下(我说的是Django 1.3版),您不需要更改TEMPLATE_CONTEXT_PROCESSORS.因为默认值已包含*django.contrib.auth.context_processors.auth*.

那么对于您的问题:默认情况下,您应该能够在模板中使用用户,消息和perms变量.例如:

User: {{user.username}}
{% if perms.appname.permname %}
  ... do something usefull ...
{% endif %}
Run Code Online (Sandbox Code Playgroud)