2012-05-12 1 views
1

私のアプリによって決定したビューでの基本的なログイン機能:ログインはグループ

def login_page(request): 
username = request.POST['username'] 
password = request.POST['password'] 
user = authenticate(username=username, password=password) 
if user is not None: 
    if user.is_active: 
     login(request, user) 
     return HttpResponseRedirect("main_page.html") 
    else: 
     return HttpResponseRedirect('/') 
else: 
    return HttpResponseRedirect('/') 

私は私が指示できるように、管理者(スタジオ、アカウントなど)に設定し、異なるグループを持っていますユーザーはログイン時に特定のグループページに移動します。私は次のようなことをしたい:

from django.contrib.auth.models import User, Group 

if user is not None: 
    if user.is_active: 
     login(request, user) 
     if User.objects.filter(group__iexact='studio') 
      return HttpResponseRedirect("studio_page.html") 
    else: 
     return HttpResponseRedirect('/') 

しかし、私はこのようにグループメンバーにアクセスすることはできないと思う。このタスクの正しいアプローチは何ですか?

答えて

1

UserのManyToMany関係は、Groupです。だから、あなたが行うことができます:

if user.groups.filter(name='studio').exists(): 
+0

お返事ありがとうございます。私はダニエルズが最初だと思う。 – kjarsenal

0

user.groupsがあるクエリセットあなただけの正しいグループがこのセットにあるかどうかを確認する必要がありますので、ユーザは、のメンバーであるすべてのグループで。次のようなもの:

関連する問題