我需要测试Django应用程序中的一个视图,该视图要求管理员用户
具有某些权限。
如何创建一个测试用户
并设置其一些权限,例如员工状态
或组权限
?
我可以使用工厂来实现吗?
我需要测试Django应用程序中的一个视图,该视图要求管理员用户
具有某些权限。
如何创建一个测试用户
并设置其一些权限,例如员工状态
或组权限
?
我可以使用工厂来实现吗?
创建超级用户,请执行以下命令: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