Динамическое меню пользователя в Джанго - PullRequest
4 голосов
/ 26 июня 2009

Есть ли способ иметь меню пользователя, которое изменяется в соответствии с разрешениями, назначенными группе пользователей, к которой принадлежит пользователь? Я думаю о чем-то, что проверяет эти разрешения на уровне просмотра, а также удаляет пункты меню, к которым у пользователя нет разрешения.

Ответы [ 2 ]

9 голосов
/ 26 июня 2009

Да, можно получить доступ к объекту пользователя в шаблоне и проверить, является ли пользователь персоналом, как это:

{% if user.is_staff %}
    <li>
        <a href="/admin/">Admin</a>
    </li>
{% endif %}

Это будет пример, где в вашем меню находятся элементы ссылок. Ссылка администратора отображается только для пользователей со статусом is_staff. То же самое можно сделать с is_authenticated.

Django - это сборка, в которой логика и представление разделены, поэтому, если вы хотите более детально управлять меню, я бы предложил выполнить логику внутри представления, а затем установить переменную, которую вы можете проверить в шаблон для определения, какие меню показывать.

2 голосов
/ 26 июня 2009

По большей части администратор django уже не дает вам ссылки на вещи, которые вы не можете делать.

Django grappelli (скин администратора django) реализует какие-то закладки, если вы это имеете в виду http://code.google.com/p/django-grappelli/

...