Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建Django管理员帐户:密码值为空_Django - Fatal编程技术网

创建Django管理员帐户:密码值为空

创建Django管理员帐户:密码值为空,django,Django,在Django项目中,我使用以下脚本创建admin帐户: User.objects.all().delete() admin = User() admin.username = 'admin' admin.password = admin.set_password('admin') admin.save() 但我得到了错误信息: psycopg2.IntegrityError: null value in column "password" violates not-null constrai

在Django项目中,我使用以下脚本创建
admin
帐户:

User.objects.all().delete()
admin = User()
admin.username = 'admin'
admin.password = admin.set_password('admin')
admin.save()
但我得到了错误信息:

psycopg2.IntegrityError: null value in column "password" violates not-null constraint
为什么会这样?

来自:

设置密码(原始密码): 将用户密码设置为给定的原始字符串,注意密码哈希

它为您设置密码,然后返回
None
,因此不要将其重新分配给
user.password
。换句话说,只要做:

admin.username = 'admin'
admin.set_password('admin')
admin.save()
.set\u password()
已设置给定用户的密码,因此不返回任何内容。因此,您只需执行以下操作:

>>> admin.set_password('admin')
>>> admin.save()
假设您想创建一个对所有内容都有权限的用户,为什么不改为使用:


因此,您不必手动将
.is\u superuser
.is\u staff
设置为
True

这太棒了!谢谢。
>>> User.objects.create_superuser(username="admin", password="admin", email=None)