Book Image

Mastering Django: Core

By : Nigel George
Book Image

Mastering Django: Core

By: Nigel George

Overview of this book

Mastering Django: Core is a completely revised and updated version of the original Django Book, written by Adrian Holovaty and Jacob Kaplan-Moss - the creators of Django. The main goal of this book is to make you a Django expert. By reading this book, you’ll learn the skills needed to develop powerful websites quickly, with code that is clean and easy to maintain. This book is also a programmer’s manual that provides complete coverage of the current Long Term Support (LTS) version of Django. For developers creating applications for commercial and business critical deployments, Mastering Django: Core provides a complete, up-to-date resource for Django 1.8LTS with a stable code-base, security fixes and support out to 2018.
Table of Contents (33 chapters)
Mastering Django: Core
Credits
About the Author
www.PacktPub.com
Preface
Free Chapter
1
Introduction to Django and Getting Started

The basics: views and MIME types


Recall from Chapter 2, Views and URLconfs, that a view function is simply a Python function that takes a web request and returns a web response. This response can be the HTML contents of a web page, or a redirect, or a 404 error, or an XML document, or an image ...or anything, really. More formally, a Django view function must:

  1. Accept an HttpRequest instance as its first argument; and

  2. Return an HttpResponse instance.

The key to returning non-HTML content from a view lies in the HttpResponse class, specifically the content_type argument. By default, Django sets content_type to text/html. You can however, set content_type to any of the official Internet media types (MIME types) managed by IANA (for more information visit http://www.iana.org/assignments/media-types/media-types.xhtml).

By tweaking the MIME type, we can indicate to the browser that we've returned a response of a different format. For example, let's look at a view that returns a PNG image. To keep...