0
저는 ModelForm을 사용하고 장고의 인증 시스템을 사용하지 않습니다. 나는 또한 무작위 암호를 설정하려고 노력하고 있지만 문제를 일으키는 지 확실하지 않기 때문에 약간의 주석을 달았습니다.장고 양식이 제출되지만 데이터베이스에 저장되지 않습니다
현재 '다음'은 '성공'을 반환하지만 데이터베이스에는 저장하지 않습니다.
def registration(request):
if request.POST:
data = request.POST.copy()
data['date_joined'] = datetime.date.today()
data['last_login'] = datetime.datetime.now()
form = UserForm(data)
if form.is_valid():
try:
User.objects.get(username=form.cleaned_data['username'])
except User.DoesNotExist:
#ran_pw = User.objects.make_random_password(length=12)
#user.set_password(ran_pw)
user = User()
user.username = form.cleaned_data['username']
user.first_name = form.cleaned_data['first_name']
user.m_init = form.cleaned_data['m_init']
user.last_name = form.cleaned_data['last_name']
user.institution = form.cleaned_data['institution']
user.department = form.cleaned_data['department']
user.phone = form.cleaned_data['phone']
user.email = form.cleaned_data['email']
user.save()
return HttpResponse('success')
else:
return HttpResponse(form.errors)
else:
form = UserForm()
return HttpResponse(form.non_field_errors)
이것은 다른 곳에서 발견 한 제안입니다. 아이디어는 사용자 이름이 있는지 확인한 다음 등록 양식이 저장되지 않은 경우에만 저장한다는 것입니다. 임의의 고유 한 이름으로 테스트하고 있으므로 사용자가 이미 존재하는 것처럼 왜 작동하는지 확신 할 수 없습니다. 그것은 사용자 이름이 있는지 확인하지 않으면 작동합니다. – charmarel
인쇄물을 넣고 어떤 사용자에게 인쇄되는지 확인하십시오. –