Mercurial > public > sg101
view user_photos/views.py @ 700:e888d627928f
Refactored the processing of image uploads.
I suspect I will use this general algorithm in other places (like POTD), so
I made it reusable.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 11 Sep 2013 20:31:23 -0500 |
parents | b2a8fde3173a |
children | 809d27b385f2 |
line wrap: on
line source
"""Views for the user_photos application.""" from django.conf import settings from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect from user_photos.forms import UploadForm @login_required def upload(request): """This view function receives an uploaded image file from a user. The photo will be resized if necessary and a thumbnail image will be created. The image and thumbnail will then be uploaded to the Amazon S3 service for storage. TODO: rate limiting pass off the processing to a celery task ajax version of this view """ form = None uploads_enabled = settings.USER_PHOTOS_ENABLED if uploads_enabled: if request.method == 'POST': form = UploadForm(request.POST, request.FILES, user=request.user) if form.is_valid(): photo = form.save() return redirect(photo) else: form = UploadForm(user=request.user) return render(request, 'user_photos/upload_form.html', { 'enabled': uploads_enabled, 'form': form, }, status=200 if uploads_enabled else 503)