当我想使用简单的 CreateView 创建新用户时遇到问题。一切正常,我可以创建用户,但是当我想用新创建的用户登录时,我做不到。
我在管理员中获得了这种类型的密码:
无效的密码格式或未知的散列算法。
未存储原始密码,因此无法查看此用户的密码,但您可以使用此表单更改密码。
这是我的代码:
模型.py
from django.db import models
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import AbstractUser, UserManager
class CustomUser(AbstractUser):
"""app setting of user"""
url = models.URLField(u'Site URL', max_length=100, null=True, unique=True)
admin.site.register(CustomUser, UserAdmin)
网址.py
from django.conf.urls.defaults import *
from models import CustomUser
from django.views.generic import CreateView
from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse
urlpatterns = patterns('',
url(r'^create_user/$',(CreateView.as_view(model=CustomUser, get_success_url =lambda: reverse('create_user'),
template_name="create_user.html")), name='create_user'),
)
create_user.html
<div title="Create Form " id="/create_user">
<p> <b>Create account:</b> </p>
{{ form.errors }}
<form action="" method="post" id="id_create_user" >
{% csrf_token %}
{{ form.as_p }}
<div>
<input type="submit" value="Create account" style="">
</div>
</form>
</div>
创建用户后,我必须以管理员身份登录并更改此密码,之后一切都会好起来的。
我应该怎么做才能解决问题?
谢谢!