def edit_profile_page(request): ''' profile page for a user ''' user = request.user form = forms.EditUserForm(instance=request.user) data = { 'form': form, 'user': user, } return TemplateResponse(request, 'edit_user.html', data)
def edit_profile_page(request, username): ''' profile page for a user ''' try: user = models.User.objects.get(localname=username) except models.User.DoesNotExist: return HttpResponseNotFound() form = forms.EditUserForm(instance=request.user) data = { 'form': form, 'user': user, } return TemplateResponse(request, 'edit_user.html', data)
def edit_profile(request): ''' les get fancy with images ''' if not request.method == 'POST': return redirect('/user/%s' % request.user.localname) form = forms.EditUserForm(request.POST, request.FILES) if not form.is_valid(): return redirect('/') request.user.name = form.data['name'] if 'avatar' in form.files: request.user.avatar = form.files['avatar'] request.user.summary = form.data['summary'] request.user.save() return redirect('/user/%s' % request.user.localname)
def edit_profile(request): ''' les get fancy with images ''' if not request.method == 'POST': return redirect('/user/%s' % request.user.localname) form = forms.EditUserForm(request.POST, request.FILES) if not form.is_valid(): return redirect('/') request.user.name = form.data['name'] if 'avatar' in form.files: # crop and resize avatar upload image = Image.open(form.files['avatar']) target_size = 120 width, height = image.size thumbnail_scale = height / (width / target_size) if height > width \ else width / (height / target_size) image.thumbnail([thumbnail_scale, thumbnail_scale]) width, height = image.size width_diff = width - target_size height_diff = height - target_size cropped = image.crop( (int(width_diff / 2), int(height_diff / 2), int(width - (width_diff / 2)), int(height - (height_diff / 2)))) output = BytesIO() cropped.save(output, format=image.format) ContentFile(output.getvalue()) request.user.avatar.save(form.files['avatar'].name, ContentFile(output.getvalue())) request.user.summary = form.data['summary'] request.user.manually_approves_followers = \ form.cleaned_data['manually_approves_followers'] request.user.save() outgoing.handle_update_user(request.user) return redirect('/user/%s' % request.user.localname)
def edit_profile(request): ''' les get fancy with images ''' if not request.method == 'POST': return redirect('/user/%s' % request.user.localname) form = forms.EditUserForm(request.POST, request.FILES) if not form.is_valid(): return redirect('/') request.user.name = form.data['name'] if 'avatar' in form.files: # crop and resize avatar upload original = Image.open(form.files['avatar']) target_size = 120 height, width = original.size scale = height / target_size if height < width else width / target_size resized = original.resize((int(height / scale), int(width / scale))) height, width = resized.size cropped = resized.crop((int( (width - target_size) / 2), int((height - target_size) / 2), int(width - (width - target_size) / 2), int(height - (height - target_size) / 2))) output = BytesIO() cropped.save(output, format='JPEG') ContentFile(output.getvalue()) request.user.avatar.save(form.files['avatar'].name, ContentFile(output.getvalue())) request.user.summary = form.data['summary'] request.user.manually_approves_followers = \ form.cleaned_data['manually_approves_followers'] request.user.save() outgoing.handle_update_user(request.user) return redirect('/user/%s' % request.user.localname)