def register(request): if request.method == 'POST': user_form = UserForm(data=request.POST) profile_form = UserProfileForm(request.POST, request.FILES) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user profile.save() login(request, user, backend='django.contrib.auth.backends.ModelBackend') messages.success(request, 'Account successfully created!') return redirect('my_account') else: user_form = UserForm() profile_form = UserProfileForm() context_dict = {'user_form': user_form, 'profile_form': profile_form} return render(request, 'webapp/register.html', context_dict)
def my_account_edit(request): profile = get_object_or_404(UserProfile, user=request.user) if request.method == 'POST': # change password password_form = PasswordChangeForm(request.user, request.POST) if password_form.is_valid(): user = password_form.save() update_session_auth_hash(request, user) messages.success(request, 'Your password was successfully updated!') return redirect('my_account_edit') # update user details user_form = UserEditForm(request.POST, instance=request.user) profile_form = UserProfileForm(request.POST, request.FILES, instance=profile) if profile_form.is_valid() and user_form.is_valid(): profile_form.save() user_form.save() messages.success(request, 'Account details successfully updated!') return redirect('my_account_edit') else: password_form = PasswordChangeForm(request.user) profile_form = UserProfileForm(instance=profile) user_form = UserEditForm(instance=request.user) context_dict = { 'password_form': password_form, 'profile_form': profile_form, 'user_form': user_form } return render(request, 'webapp/my-account-edit.html', context_dict)
def register(request, user_type): if request.user.is_authenticated(): return HttpResponseRedirect('/') context_dict = {} if request.method == 'POST': user_form = UserForm(data=request.POST) user_profile_form = UserProfileForm(data=request.POST) if user_form.is_valid() and user_profile_form.is_valid(): # User user = user_form.save() user.set_password(user.password) user.save() # UserProfile user_profile = user_profile_form.save(commit=False) user_profile.user = user if 'picture' in request.FILES: user_profile.picture = request.FILES['picture'] else: user_profile.picture = 'img/user_avatar.png' user_profile.save() # Fan/Band Profile if user_type == 'fan': profile = FanProfile.objects.get_or_create( profile=user_profile) else: profile = BandProfile.objects.get_or_create( profile=user_profile) # Auto login. user_login(request) return HttpResponseRedirect('/') else: user_form = UserForm() profile_form = UserProfileForm() context_dict['profile_form'] = profile_form context_dict['user_form'] = user_form return render(request, 'webapp/register.html', context_dict)