0
在我看來,文件請求變量呈現
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
,所以我不知道爲什麼我得到這個錯誤。
任何幫助將深受讚賞。
感謝您的信息....但正如我上面寫的這只是一個特殊的例子...我知道我可以直接訪問'用戶',但我需要訪問這個'請求上下文處理器在其他模板以及。非常感謝您的幫助。 – Sachin 2011-12-25 06:33:01