使用Django的auth系统验证站点范围内的用户

时间:2012-04-26 08:05:53

标签: python django authentication

如何根据用户是否登录显示内容(在每个页面上)?我在base.html中定义了一个侧边栏区域,该区域填充了登录/注册表单(如果用户未登录)或仪表板(如果用户已登录)。

如何在网站上的每个网页上实现这一功能?每次调用新视图时是否必须手动检查用户并将user变量传递给render_to_response()?必须有一个更简单的方法。

1 个答案:

答案 0 :(得分:3)

如果我理解你的话,我认为没有系统范围的解决方案。您必须根据用户是否经过身份验证来验证每个页面。

在模板中,添加以下代码以查看用户是否有效且经过身份验证。您必须为每个具有用户级别内容的模板执行此操作。

{% if user.is_authenticated %}
  ... html stuff ...
{% endif %}

另一个想法可能是使用装饰@login_required。但是,您仍然需要将其添加到具有用户级别内容的每个视图中。