python - admin注册员工用户无法登录django admin,表单注册员工用户无法登录

标签 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')

现在告诉我,如何绕过这个问题?

最佳答案

三个简单步骤:

  1. 创建用户:

user = User.objects.create_user("用户名")

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

    user.password = "your_password"

    user.set_password(user.password)

  2. 使用户成为 super 用户:

user.is_staff=True

user.is_superuser=True'

  • 保存您的用户:

    user.save()

  • 现在你可以登录django的管理面板了

    编辑: 除了上述所有内容,您还可以执行以下操作:

    python manage.py createsuperuser
    

    并创建一个 super 用户

    关于python - admin注册员工用户无法登录django admin,表单注册员工用户无法登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30736422/

    相关文章:

    python - Pandas :无法更改列数据类型

    Python pandas 从长转向宽

    python - soup.findAll 返回空列表

    django - ModelForm is_valid() 在单元测试期间始终返回 false

    django - 在Django 1.4中,未记录的Form.has_changed()和Form.changed_data是否按预期工作?

    python - 如何链接在 for 循环中创建的 python tkinter 小部件?

    python - Django 1.8 检查 View 中是否存在模板

    python - 为什么我收到 IntegrityError : NOT NULL constraint failed

    python - 完整性错误 : NOT NULL constraint failed: core_userprofile. 用户 ID

    python - Django 表单在控制台中验证,但为什么不在浏览器中验证?