django:如何在每个模板中显示用户登录?

Nul*_*yte 2 django templates views

我有以下模板:

base.html & article.html & article.html

base.html 包含标题:

<h6>User logged-in : {{full_name}}</h6>
Run Code Online (Sandbox Code Playgroud)

article.html 和 article.html 扩展了 base.html

在我通过的 Django 应用程序“文章”中的视图中

args['full_name'] = request.user.username 
Run Code Online (Sandbox Code Playgroud)

进而:

return render_to_response('article.html', args, context_instance=RequestContext(request)) 
Run Code Online (Sandbox Code Playgroud)

我对函数文章也这样做。它允许我将变量传递给articles.html 和article.html 中的扩展base.html 标头

这意味着我需要对 def edit_article 和函数 create_article 做同样的事情,我以复制自己结束,所以我打破了基本的 django 规则。

有没有其他更好的方法来显示谁登录并使用它为每个登录用户创建单独的视图,如下所示:

每个用户都可以查看自己的视图、编辑它、添加新文章并将其视图的访问权限授予其他用户/用户组?

?

mad*_*han 6

您可以使用访问用户(无需再次将其传递给上下文)

{{ request.user.username }}
Run Code Online (Sandbox Code Playgroud)

  • @BlueTomato 你应该使用`render` 快捷方式,而不是`render_to_response`,因为它总是使用RequestContext。 (2认同)