Django ValueError:应设置给定的用户名
我正在尝试编写在注册时添加用户类型对象的方法。代码如下: views.pyDjango ValueError:应设置给定的用户名,django,django-forms,django-views,Django,Django Forms,Django Views,我正在尝试编写在注册时添加用户类型对象的方法。代码如下: views.py def registration(request): c= {} c.update(csrf(request)) state = "Please Register below..." username = None email = None password = None user_success = None user_created = None if request.POST: username = req
def registration(request):
c= {}
c.update(csrf(request))
state = "Please Register below..."
username = None
email = None
password = None
user_success = None
user_created = None
if request.POST:
username = request.POST.get('username')
email = request.POST.get('email')
password = request.POST.get('password')
print "username ",username
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
user_created = True
else:
user_created = False
else:
user = User.objects.create_user(username=username,password=password,email=email)
user.save()
user.is_active = True
user_success = True
return render_to_response('register.html',{'success':user_success,'created':user_created,'username': username},context_instance = RequestContext(request))
forms.py
class RegistrationForm(forms.Form):
username = forms.CharField()
email = forms.EmailField()
password = forms.CharField()
templates/register.html是:
{% extends "base.html" %}
{% block pageContent %}
<div class="container">
<form action="/register" method="post">
{% csrf_token %}
username:
<input type="text" name="username" value="{{ username}}" /><br />
password:
<input type="password" name="password" value="" /><br />
Email:
<input type="text" name="email" value="{{email}}" /><br />
<input type = 'submit' value='Register' />
</form>
</div>
{% endblock %}
{%extends“base.html”%}
{%block pageContent%}
{%csrf_令牌%}
用户名:
密码:
电邮:
{%endblock%}
谁能帮我找出错误吗?另外,如果我正在进行注册,请告诉我,
username
的值此时必须计算为True
user = User.objects.create_user(username=username,password=password,email=email)
# ^^^^^^^^ this can't be a bool() false
为什么??该错误消息非常具体。。它在django auth中调用:
def create_user(self, username, email=None, password=None, **extra_fields):
"""
Creates and saves a User with the given username, email and password.
"""
now = timezone.now()
if not username:
raise ValueError('The given username must be set')
你能100%肯定用户名是正确的值吗?听起来像是一个空字符串。此时
用户名的值必须计算为True
user = User.objects.create_user(username=username,password=password,email=email)
# ^^^^^^^^ this can't be a bool() false
为什么??该错误消息非常具体。。它在django auth中调用:
def create_user(self, username, email=None, password=None, **extra_fields):
"""
Creates and saves a User with the given username, email and password.
"""
now = timezone.now()
if not username:
raise ValueError('The given username must be set')
你能100%肯定用户名是正确的值吗?听起来像是一个空字符串。我发现了错误。错误出现在view.py的缩进中
if user is not None:
仅当请求类型为POST时,部分代码才应为。所以这需要缩进。我发现了错误。错误出现在view.py的缩进中
if user is not None:
仅当请求类型为POST时,部分代码才应为。所以这需要缩进。我发现了错误。错误出现在view.py的缩进中<代码>如果用户不是None
只有当请求类型为POST时,部分代码才应该是None。所以这需要缩进。谢谢你的帮助,我发现了错误。错误出现在view.py的缩进中<代码>如果用户不是None只有当请求类型为POST时,部分代码才应该是None。所以这需要缩进。谢谢你的帮助