2016-03-18 16 views
0

ユーザを追加してユーザをグループに割り当てようとしています。以下は、ユーザーを追加するために動作しますが、私が指示された行のコメントを外すと、私は以下のエラーを受け取ります。ユーザー(ur)がグループに追加されるようにエラーを取り除くにはどうすればよいですか?ご協力いただきありがとうございます!Python ShellグループにDjango管理者を追加してください

# This file is named passuserstack.py 
# I call it by typing: python passuserstack.py johndoe 
# to add a user named johndoe 

import os 
import sys 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dmt.settings") 
from django.contrib.auth.models import User, Group 
from django.contrib.auth import authenticate, login 

arg1 = sys.argv[1] 

def loginuser(myuser=arg1): 
    myuserpw = myuser + 'pw' 

    # Check to see if that user exists 
    if (User.objects.filter(username=myuser).exists()): 
     #do nothing 
     mynote = "I am a returning user" 
    else: 
     # create the user 
     mynote = "I am a new user" 
     ur = User.objects.create_user(myuser, '[email protected]', myuserpw) 
     ur.is_staff = True 
     ur.save() 
     # assign permissions by assigning to a group 
     gp = Group.objects.get(name='NBI_graph_tool') 
     #gp.user_set.add(ur) 
     # when I uncomment the line just above this, I get the error : 
     # raise AppRegistryNotReady("Models aren't loaded yet.") 
     # django.core.exceptions.AppRegistryNotReady" Models aren't loaded yet. 

if __name__ == "__main__": 
    loginuser() 
+0

あなたのプログラムをdjangoのpythonシェルから実行してください:python ./manage.py shell –

+0

私はこれを試しました:python manage.py shell。その後、次の行>>> passuserstack.py johndoeで、SyntaxError:johndoeのeを指す無効な構文が表示されます。私はあなたを正しく理解しているかどうかわからない。 – Sandra

+0

申し訳ありませんが、私はあなたがプログラムを実行することを忘れています。多分シェルに引数としてファイルを与えることができますが、わかりません –

答えて

0

コメントにSandraが指摘したように、django.setup()を使用する必要があります。 the Django project site

関連する問題