管理员注册员工用户无法登录 django 管理员,表单注册员工用户无法登录

admin registered staff user can't login django admin, form registered staff user can't

当我通过 django 管理面板创建用户并将其标记为员工时,它可以正常登录 django 管理页面,但是当我创建用户 vie UserForm 并将其标记为员工时,它无法登录。它说员工的用户名密码无效等等。

我怀疑错误是因为我正在使用,

TEMPLATE_CONTEXT_PROCESSORS = ('django.contrib.auth.context_processors.auth','django.core.context_processors.request')

目前我有以下代码:

user_form = UserForm(data=request.POST)
profile_form = UserProfileForm(data=request.POST)

if user_form.is_valid() and profile_form.is_valid():
    user = user_form.save()
    user.set_password(user.password)
    user.save()

形式:

class UserForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())

    class Meta:
        model = User
        fields = ('username', 'email', 'password')

现在告诉我,我怎样才能绕过这个问题?

呸,我不得不添加这样的东西:

AUTHENTICATION_BACKENDS = (
        'django.contrib.auth.backends.ModelBackend',
    )

三个简单的步骤:

  1. 创建用户:

user = User.objects.create_user("username")

  1. 为您的用户设置密码:

    user.password = "your_password"

    user.set_password(user.password)

  2. 将用户设置为超级用户:

user.is_staff=True

user.is_superuser=True'

  1. 保存您的用户:

    user.save()

现在您可以登录 django 的管理面板

编辑: 除了以上所有你可以做的只是:

python manage.py createsuperuser

并创建一个超级用户