以下是我的视图文件的一部分
def user_detail(request, username,
template_name='auth/user_detail.html', extra_context=None):
context = {
'user': shortcuts.get_object_or_404(User, username=username)
}
context.update(extra_context or {})
return shortcuts.render(request, template_name, context)
我的模板的一部分是
<ul class="nav">
{% if request.user.username != 'steve' %}
<li>
<a href="{% url 'user_detail' 'steve' %}">Steve</a>
</li>
{% endif %}
{% if request.user.username != 'james' %}
<li>
<a href="{% url 'user_detail' 'james' %}">James</a>
</li>
{% endif %}
</ul>
但是,即使我使用这些用户中的任何一个登录,我仍然会显示此链接。这是因为我正在检查request.user.username
并且请求变量没有被渲染函数传递给模板。
如果我直接引用 user.username 则很好,但这不是我想要解决这个问题的方式,因为还有其他类似的视图返回这个request
我必须使用的变量。
这都是django-subscriptionyourlabs fork
的一部分。我以前没有使用过,所以我不知道为什么会收到此错误。render shortcut
任何帮助将不胜感激。