High Performance
Web Application Development

An Introduction

Next: Spacebar

Navigation:

For touch-screen devices, simply swipe in the relevant direction

Overview

  1. Introduction
  2. What is Django?
  3. Architecture
  4. Components
  5. Development workflow
  6. Django Releases
  7. Django by numbers
  8. Django in the wild
  9. Django Software Foundation
  10. Useful Django Applications
  11. Related links
  12. Acknowledgements

Introduction

Markus Zapke-Gründemann

Software Developer since 2001

Software development with Python and Django

Independent since 2008

Owner of transcode

keimlink.de // @keimlink

What is Django?

Django Reinhardt

Django Reinhardt plays Guitar

* 23.1.1910✝ 16.5.1953

General

  • Web Application Framework
  • Written using the Python programming language
  • Open Source Software (BSD Licence)
  • Django Software Foundation (DSF)
  • Extensive Documentation
  • Huge, friendly Community

Philosophy

  • Rapid Development
  • Don't Repeat Yourself (DRY)
    "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system."
  • Loosely Coupled
  • Reusable Applications

Architecture

MTV

Architecture

Model
Data (Object Relational Mapper)
Template
Presentation (HTML)
View
Business Logic (Response)

Architecture

Components

Components

  • Sessions
  • Authentication & Authorisation
  • Forms
  • Validation
  • Serialization (JSON, XML, YAML)
  • Syndication (RSS, Atom)

Components

  • Testing
  • Caching
  • Internationalisation & Localisation
  • Security
  • File Storage
  • GeoDjango (GIS)
  • Interactive Shell (REPL)

Admin

Admin - Login

Admin

Admin - Create new dataset

Admin

Admin - List view

Built-in Development Server


$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
April 17, 2015 - 09:16:50
Django version 1.8, using settings 'myproj.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[17/Apr/2015 09:16:58]"GET / HTTP/1.1" 200 1767
[17/Apr/2015 09:16:59]"GET /favicon.ico HTTP/1.1" 404 1936
[17/Apr/2015 09:16:59]"GET /favicon.ico HTTP/1.1" 404 1936
						

Development process

Django Releases

Django by numbers

Since the middle of 2012
Source: Measuring the Django Community: The Django community in 2012

Django in the wild

The Guardian

The New York Times

Washington Post

Discovery Channel

National Geographic

PBS Kids

ZDF - Die letzte Spur

NASA Science

Disqus

Instagram

Wargaming.net

BitBucket

Mozilla Add-Ons

ubuntuusers.de

VMWare

Vodafone

Django Software Foundation

  • Founded in 2008
  • Support development of Django
  • Promote the use of Django
  • Protect the intellectual property and the framework's long-term viability
  • Advance the state of the art in Web development
  • Corporate membership possible

Useful Django Applications

pip install <package-name>

django-debug-toolbar

django-allauth

django-braces

django-model-utils

django-crispy-forms

django-filter

easy-thumbnails

rules

django-configurations

gargoyle-yplan

django-import-export

djangorestframework

django-haystack

celery

django-storages-redux

pytest-django

factory_boy

faker

gunicorn

whitenoise

mod_wsgi

django_compressor

Related links

Acknowledgements

Django Community

reveal.js

Raphaël

Ross Crawford-d'Heureuse
(English translation)

Olivier Berger
(French translation)

Frank Becker

Image sources

License

This work is licensed under a
Creative Commons
Attribution-ShareAlike 4.0 International License

Creative Commons License