Я пытался изменить пользователя, используя форму, которую я использовал для создания пользователя, Я понятия не имею, почему я получаю сообщение об ошибке. Пользователь с этим именем пользователя уже существует.Редактирование пользователей в Django
Вот мое мнение:
def registration_edit(request):
""" Registration Step2:
The user should be authenticated to reach this step.
Authentication is provided by first step or user login.
"""
if request.user.is_authenticated():
if request.POST:
form = RegistrationForm(request.POST or None, instance=request.user)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('reg_step_2'))
else:
form = RegistrationForm(instance=request.user)
page = 'account'
title = 'Editing User Registration'
context = {'title': title, 'form': form, 'page': page}
template = 'customer/registration.djhtml'
return render_to_response(template, context, context_instance=RequestContext(request))
else:
messages.info(request, '<strong>Note</strong>: You must logged in to edit your account.')
return HttpResponseRedirect('/')
forms.py Я сделал эту форму, потому что я хочу, чтобы включить ПгвЬЫате и LastName поле включения в регистрации.
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class RegistrationForm(UserCreationForm):
class Meta:
model = User
exclude = ('is_staff', 'is_active', 'is_superuser', 'last_login', 'date_joined', 'groups', 'user_permissions', 'password')
и вот мой шаблон
<form class="form-horizontal" action='.' method="POST">
{% csrf_token %}
<fieldset>
<div id="legend">
<legend class="">
{{ title|title }}
</legend>
</div>
{% for f in form %}
<div class="control-group">
<label class="control-label" for="username">{{ f.label }}</label>
<div class="controls">
{{ f }} <i style="color: orange">{{ f.errors|striptags }}</i>
</div>
</div>
{% endfor %}
<div class="controls">
<button class="btn btn-success">
Continue
</button>
</div>
</fieldset>
</form>
Кто-нибудь сказать мне, где я бездельничал здесь? Любая помощь будет высоко оценена.
Он дает мне поле «Пароль» с «Нет значения», и он выплевывает сообщение об ошибке «Включение//auth/forms.py в clean_password, строка 122 –
Вы не хотели бы устанавливать пароль в этой форме, http://stackoverflow.com/a/10881992/188955 – JamesO