Найти - Пользователи
Полная версия: Проверка пользователя на состояние в группе
Начало » Django » Проверка пользователя на состояние в группе
1
easthy
ЗДравствуйте
Подскажите, что тут нужно изменить…

Делаю проверку
@user_passes_test(user_in_group("moderators", "user_extended"))

Если пользователь в группе moderators - авторизация не проходит
Если пользователь в группе user_extended - проходит

Если поменять местами аргументы
@user_passes_test(user_in_group("user_extended", "moderators"))
То moderator проходит

def user_in_group(*args):
    for arg in args:
        def func(user):
            return Group.objects.get(name=arg) in user.groups.all()
    return func        
FishHook
for i in [1,2,3,4]:pass
print i
Угадай с одного раза чему будет равна i после завершения цикла?
FishHook
Вообще непонятно, чего ты этим добиться хочешь, конкретно, зачем тут функция в цикле?
easthy
def user_in_group(*args):
    def func(user):
        for arg in args:
            if Group.objects.get(name=arg) in user.groups.all():
                return Group.objects.get(name=arg) in user.groups.all()
    return func
решил так
зачем фукнция? чтобы получить какой пользователь делает запрос
Sergei
между
easthy
 
for arg in args: 
    def func(user):
и
easthy
def func(user): 
    for arg in args:
пробегал вопрос
FishHook
зачем тут функция в цикле?
а не
easthy
зачем фукнция?

я дико извиняюсь за адвокатскую практику :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB