我在Django视图中返回user.group.filter
True
结果。
在我的索引页面上,我想根据用户组限制内容。我使用以下方法完成了此操作:
views.py
def index(request):
template_name = "index/index.html"
is_teamleader = request.user.groups.filter(name='TL').exists()
is_employee = request.user.groups.filter(name='Employee').exists()
context = {}
return render_to_response(template_name, request, RequestContext(request))
然后在我的index.html页面中使用以下内容:
{% if is_teamleader %}
<div id="side">
<div id="sticky-sidebar">
<h2> Links</h2>
<div id="sidecontent2" class="cf"><a href="/Form"><span>Form</span></a>
</div>
<!-- <div id="sidecontent3" class="cf"><span>Sticky Widget</span></div> -->
</div>
</div>
{% elif is_employee %}
<div id="side">
<div id="sticky-sidebar">
<h2> Links</h2>
<div id="sidecontent"><span>Youre an Employee!</span>
</div>
</div>
</div>
{% else %}
<div id="side">
<div id="sticky-sidebar">
<h2> Links</h2>
<div id="sidecontent"><span>No Link Access</span>
</div>
</div>
</div>
{% endif %}
尽管我做了哪些更改,但这会导致“其他&#39;声明,无论用户在哪个群组。
我是否需要在render_to_response
添加内容才能使其正常工作?
答案 0 :(得分:2)
你忘了渲染上下文
你需要:
def index(request):
template_name = "index/index.html"
is_teamleader = request.user.groups.filter(name='TL').exists()
is_employee = request.user.groups.filter(name='Employee').exists()
context = {
'is_teamleader': is_teamleader,
'is_employee': is_employee
}
return render(request, template_name, context)