Я позволил пользователю зарегистрироваться в связи со следующим кодом:Джанго только логин для оболочки, созданные пользователи
def sign_up(request):
if request.POST:
userName = request.POST.get('username')
passWord = request.POST.get('password')
user = User.objects.create_user(username=userName, password=passWord)
user.save()
return HttpResponseRedirect(reverse('account:login'))
args = {}
args.update(csrf(request))
args['form'] = UserCreationForm()
return render_to_response('account/sign_up.html', args, context_instance=RequestContext(request))
ШАБЛОН:
{% extends "base_login.html" %}
{% load staticfiles %}
<div id="sign_up"> {% block extension1 %}
<form action="/account/sign_up/" method="post"> {% csrf_token %}
{{ form }} <br/>
<input type="submit" value="Sign up"/>
</form> {% endblock %}
</div>
Пользователь получает создан , Я вижу это в базе данных. Однако, следуя этому пути, этот вновь созданный пользователь не сможет войти в систему. Хотя, пользователи, созданные таким же образом в оболочке, смогут войти в систему. Я много пробовал и нашел:
users_able.password
'pbkdf2_sha256$12000$CczM6MmFkTrj$qA1QG7O4nBSSOh6...'
users_unable.password
'!KAXKN25DPijEmzj0TcrhpHYpyB1pLhue...'
Таким образом, я полагаю, что это как-то связано с неверным установленным паролем. Правильно? Я использую по умолчанию UserCreationForm для регистрации. Есть идеи?
Вы можете разместить 'UserCreationForm'? – pcoronel
не знал бы, как это встроено django. – Johngoldenboy
Вы можете удалить user.save() - Это избыточно. create_user, создает и сохраняет пользователя. Кроме того, есть ли причина, по которой вы используете render_to_response, вместо рендеринга? В какой версии Django вы работаете? – user2734679