При использовании Django-Rules , вы можете проверить разрешения в представлениях.Но мой всегда возвращает ложь.Код в приведенном ниже примере всегда отображает 'bar', но должен отображать 'foo':
{% extends 'home/base.html' %}
{% load rules %}
{% has_perm 'anApp.can_access_something' user as can_access_something %}
{% block content %}
{% if can_access_something %}
<p>foo</p>
{% else %}
<p>bar</p>
{% endif %}
...
{% endblock %}
Мой rules.py выглядит так:
@rules.predicate
def testrule(user):
return True
rules.add_perm('anApp.can_access_something', testrule)
Поэтому всегда будет возвращать true.