admin注册人员用户无法登录django admin,表单注册人员用户不能

时间:2015-06-09 15:27:05

标签: python django django-forms django-admin django-authentication

当我通过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')

现在告诉我,我怎么能通过这个问题?

2 个答案:

答案 0 :(得分:2)

三个简单的步骤:

  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

并创建一个超级用户

答案 1 :(得分:0)

p pw,我必须添加这样的东西:

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