3

admin user特定の権限を持つ必要がある django アプリでビューの 1 つをテストする必要があります

test user を作成し、や などの権限を設定するにはどうすればよいですstaff statusgroup permissions?

そのためにファクトリを使用できますか。

4

1 に答える 1

2

裸のスーパーユーザーを作成するには、python manage.py createsuperuser https: //docs.djangoproject.com/en/dev/ref/django-admin/#createsuperuser を実行します

最初にアクセス許可を設定するには、カスタム django-admin コマンドを作成します app_name/commands/management/create_test_user.py

from django.contrib.auth.models import User, Group, Permission
from django.core.management.base import BaseCommand

class Command( BaseCommand ):

    help = "Creates test user"
    args = '<username> <password>'

    def handle( self, username, password ):

        user, created = User.objects.get_or_create( username=username ) 
        user.set_password( password )
        user.is_staff = True
        user.save()

        custom_perm = Permission.objects.get( codename='custom_perm_name' )
        user.user_permissions.add( custom_perm )

        if created:
            print "%s created" % username
        else:
            print "%s updated" % username

その後:

python manage.py create_test_user admin1 qwe123
于 2013-03-28T09:17:36.013 に答える