1. Add ImageFile() field to model. 2. Add width and height fields to model. 3. Define form from model, exclude width and height. 4. Define MEDIA_ROOT _and MEDIA_URL_ in settings.py. 5. Define view to create a form from request.POST _and_ request.FILES, check form is valid, and save form. 6. Define template to include an img tag, with src="{{ object.image.url }}", alt="{{ object.image.name }}", width={{ object.width }} and height similarly.