当我通过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')
现在告诉我,我怎么能通过这个问题?
答案 0 :(得分:2)
三个简单的步骤:
user = User.objects.create_user("username")
为您的用户设置密码:
user.password = "your_password"
user.set_password(user.password)
将用户设置为超级用户:
user.is_staff=True
user.is_superuser=True'
保存您的用户:
user.save()
现在您可以在Django的管理面板中登录
编辑: 而不是上面所有内容,您可以做:
python manage.py createsuperuser
并创建一个超级用户
答案 1 :(得分:0)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
)