如果django视图在另一个用户登录时对用户名执行User.get,则用户上下文是否丢失?

时间:2012-05-25 00:20:36

标签: django django-templates django-views django-authentication django-users

我有一个教师/学生django应用程序。当教师登录并希望看到学生的进度时,这就是我正在做的事情:

  1. 教师已登录且是request.user。她要求用户名为'mystudent'
  2. 的学生报告
  3. studentuser = get_object_or_404(用户,用户名='mystudent')
  4. 然后继续检索该学生的数据以将其显示给教师
  5. 在我的模板中,我有:

    老师:{{user.username}}
    学生信息:

    我收到了正确的学生信息,但我没有看到教师的用户名。我的模板还根据用户是否登录进行导航,对于此页面,我获取了导航栏的not_logged_in视图。

    但是,现在如果我浏览其他页面,同时显示教师:{{user.username}},则会看到用户名,并显示logged_in导航栏。

    因此,只有这一个模板与用户混淆,尽管实际用户登录(教师)有效且保留。

    有人可以解释一下这里出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

粘贴我的评论,因为事实证明这是答案。

没有。没有这样的魔法。虽然我们无法告诉你,因为你没有发布你的代码,我的猜测是这一个视图不使用说RequestContext而用户变量根本不在上下文中。