2012年8月12日日曜日

djangoでsyncdbで管理者ユーザーを設定する

fixtureという機能で設定します。
ココを参考にして、initial_data.json(settings.pyのFIXTURE_DIRSに設定したディレクトリ内)を作成して

 [
   {   
        "pk":1,
        "model": "auth.user",
        "fields": {
            "username": "admin",
            "password": "pbkdf2_sha256$10000$Z9TQtBh3bSmV$gq99AxSMLIHyIjDCSsVRjX8doLYgJxl1p1z7QZMWBr4=",
            "is_staff": true,
            "is_superuser": true
        }
    }
]

を設定する。ちなみにこのパスワードはmanage.py shell(自分はDJANGO_SETTINGS_MODULE=settings ipythonでやる)で次をやって生成する。
>>> from django.contrib.auth.models import User
>>> u = User()
>>> u.set_password('admin') #adminというパスワードを作成
>>> u.password
'pbkdf2_sha256$10000$Z9TQtBh3bSmV$gq99AxSMLIHyIjDCSsVRjX8doLYgJxl1p1z7QZMWBr4='

これでmanage.py syncdbすると自動的にユーザーadminが設定される。

0 件のコメント:

コメントを投稿