by Remco Wendt
Static web apps are feeling pretty inadequate these days. For a while, adding a bit of AJAX was enough to keep people excited, but now even that's not enough. This keynote follows the journey of a static Django web app, determined to transition into the modern age of real-time. Will it survive the journey intact, or will it have to trade in its heart of Django for one made out of node.js? Tune in to find out!
by Andy McKay
The Mozilla Addons site has traffic of over 150 million requests per month and 500 million API calls a day. This talk covers how the site was converted from PHP to Django and all the fun that entailed.
I'll also highlight other Mozilla Django projects and other open source projects from Mozilla.
Distributing Django apps with standard Python packaging tools has for a long time been dreaded by the community for good reasons -- from bad documentation and confusing conventions to missing integration with Django standards and unreliable infrastructure.
In this talk I show what is being done to fix that and how you can profit from it:
by Alex Gaynor
PyPy is the fastest Python available. Django is a classy web framework for folks who want to get stuff done. Learn about how to leverage PyPy to get more performance out of your webapps, with little work on your part.
In this slot there will be three 10 minute presentations about three different CMSes:
by Idan Gazit
Building sites which adapt gracefully to different screen sizes is no longer a domain reserved for crazy web experiments. With a suitable structure, you can provide multiple layouts targeted at different screen sizes for relatively little additional effort. Learn about the “why” of responsive design, how it works, and implementation strategies for your Django webapps.
Previous knowledge of Compass and the Less Framework are helpful—but not required.
by tom christie
Zope is a Python web framework that emerged in the 1990s, when Python, and the concept "web framework" itself were barely known: the state of the art was Perl CGI. As such Zope pioneered a lot of Python web development. Along the way many mistakes were also made, some of which were good decisions at the time and only turned into mistakes over time. "What can we learn from Zope?" This question has been asked before, and the aftermath of that question on discussion forums is often negative: Zope has accumulated long, rich history of good and bad ideas, and it presents a tempting target. But those who cannot remember the past are condemned to repeat it, so let's go into it again. What concepts from Zope are valuable, perhaps even to the Django community? The Zope project has been at it for a while, so dare we ask whether Zope has concepts and technology today that are still in the future for Django?
by Jesper Noehr
Doing a website in Django is easy, but how about building a DVCS hosting site with it? Django fits a wide variety of purposes, and was molded to suit Bitbucket's purpose while remaining (somewhat) idiomatic. This talk is about the lessons we learned in going from a few hundred users, to now over 100.000 active ones, being acquired, introducing non-Pythonistas to Django, and having to maintain and develop everything meanwhile.
This talk will show how the continuous integration and deployment for a site with over 3 million users was built from the ground up. It will cover topics from process changes (e.g. branching), to the tools being used (Fabric, Gargoyle, Jenkins, just to name a few), to how they are used.
We all know the golden rule of query optimisation: make one big query rather than lots of little ones in a loop. However, that's easier said than done when you're dealing with deeply nested data - there's a limit to what you can do with Django's own mechanisms like select_related. Often the only answer is to drop down to raw SQL, and in those cases we'd still like to have access to our models, rather than abandoning ORM entirely. This talk presents unjoinify, a helper module that can reassemble gnarly cross-table SQL resultsets back into template-friendly object trees.
Celery is an asynchronous task queue. It can be used to process large amounts of messages in real-time.
The app is presented as Django's core unit of reusability. As noted in talks at earlier conferences and in numerous online discussions, reusing Django apps is however, not trivial. The problem that we've identified as most pressing is that apps cannot easily refer to other parts of themselves, and cannot be easily modified by app-users.
"Eight spaces" is our take on reusing Django apps. By using objects, not directories with separate files, as an app, we open the possibility to refer to other parts of the app from within the app, and to use subclassing as a mechanism for extension.
This is your chance to ask questions to the Django core developers.
by Jonas Obrist
Making a generic solution for multilingual database contents in Django is not easy, nevertheless I started project-nani to do exactly this. In this talk I will explain why I did that and how it works, and why the Django ORM makes this task so hard.
by Ed Crewe
This talk is about using Django within an Enterprise environment. The environment in question is higher education, however the principles could be the same for any organisation of over thousand users.
Django is used to deliver applications that integrate existing applications data and databases, in this case Oracle, and core web services such as the CMS, portal and cloud tools. The examples being Plone, UPortal and Google Apps.
In 2005 Django was presented to the general public for the first time. 6 years later it's clear that Django left a big impact in the Python developer community. Not only that, it also changed the way people approach a whole variety of problems and topics, not only in the Python community. I want to look back of the last five years and dive into all the areas where Django left some footprints and also what we might learn from that for the future.
Mobile apps are the hot item of the day -- and the best mobile apps are backed by a great website. Python web developer Nate Aune and iPhone developer Anna Callahan will show you how we built a simple music web app in Django with a native iPhone app that communicates with it. Attendees of this talk will see a concrete case study of building an application that exposes an API for mobile devices.
Our web app exposes a JSON API for sending and receiving data from the mobile device. We’ll talk about why we chose Django and the TastyPie API package, and discuss other packages that could be used to build the API such as django-piston or the Django REST framework. We’ll also compare REST and custom APIs to understand best practices for building APIs designed for mobile devices.
by Alex Gaynor
Django strives to always present a nice API to its users, but does that always bleed over into the internals? We'll go over the best (and worst) modules and commits in the history of Django to see just how the sausage is made.
by Zack Voase
Take DRY one step further by writing resource-oriented views. Using Dagny, find out how to improve the organization of your code, simplify your URLconf and get a 'RESTful' API for free. Warning: includes live demo.
As a Python hosting startup, ep.io sees a lot of Django. Andrew will take you through the various parts of the ep.io stack - from the custom load balancer, to the redis proxy, to how we run nginx and gunicorn, and show you some of our code, while he points out some of the trickier parts of maintaining hundreds of Django installations on just a few machines.
by Will Hardy
Dynamic models are an oft devised solution to the need for flexibility when storing data. This sort of thinking would also have you ridiculed, but with Django and South in hand, runtime database schema altering can help you safely do wonderful things the old school DBAs would never have approved.
Panel about scalability.
What does the future hold for Django? In this talk, core developer Russell Keith-Magee peers into his crystal ball to make some guesses at what may be coming in Django 1.4 and beyond...
The Django sprint is going to be on Thursday and Friday. This talk will give a short introduction.
by Remco Wendt
6th–10th June 2011