Как отобразить что-то в шаблоне django, согласно которому пользователь вошел в систему? - PullRequest
1 голос
/ 01 ноября 2019

Я отображаю таблицу в шаблоне django, и у меня есть 2 идентичных шаблона, но с 2 разными таблицами. У меня есть 2 разные группы пользователей. Я хочу отобразить другой шаблон, в зависимости от того, к какой группе аутентификации принадлежит пользователь. Например:

, если пользователь в группе A: render template1.html; если пользователь в группе B: render template2.html

Все, что я сейчас знаю, это то, что я использовал @login_requireddecorator, поэтому представление не будет отображаться, если пользователь не вошел в систему. Но это относится ко всем пользователям и не относится к группам.

def home(request):
    ecv_count = Dossier.objects.filter(status_admin='ECV').count()
    v_count = Dossier.objects.filter(status_admin='V').count()
    r_count = Dossier.objects.filter(status_admin='R').count()
    c_count = Dossier.objects.filter(status_admin='C').count()
    context = {
        'dossiers': Dossier.objects.all(),
        'ecv_count': ecv_count,
        'v_count': v_count,
        'r_count': r_count,
        'c_count': c_count
    }

    return render(request, 'dashboard/home.html', context)

Я хочу, чтобы представление проверяло группу пользователей. и создайте другой шаблон с другим контекстом.

1 Ответ

2 голосов
/ 01 ноября 2019

Вы можете проверить так:

def home(request):
    if request.user.groups.filter(name='some_group').exists():
        # do something ....
    else:
        #do somethig...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...