Следующее в части моего просмотра файла
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
переменную, которую я должен использовать.
Это все часть yourlabs fork
из django-subscription . Я не использовал render shortcut
раньше, поэтому я не знаю, почему я получаю эту ошибку.
Любая помощь будет высоко оценена.