如何根据用户是否登录显示内容(在每个页面上)?我在base.html
中定义了一个侧边栏区域,该区域填充了登录/注册表单(如果用户未登录)或仪表板(如果用户已登录)。
如何在网站上的每个网页上实现这一功能?每次调用新视图时是否必须手动检查用户并将user
变量传递给render_to_response()
?必须有一个更简单的方法。
答案 0 :(得分:3)
如果我理解你的话,我认为没有系统范围的解决方案。您必须根据用户是否经过身份验证来验证每个页面。
在模板中,添加以下代码以查看用户是否有效且经过身份验证。您必须为每个具有用户级别内容的模板执行此操作。
{% if user.is_authenticated %}
... html stuff ...
{% endif %}
另一个想法可能是使用装饰@login_required
。但是,您仍然需要将其添加到具有用户级别内容的每个视图中。