SlideShare a Scribd company logo
1 of 14
Download to read offline
Method-based views
in Django applications
      Gary Reynolds
     Touch Technology

           @goodtune
     bitbucket.org/goodtune
      github.com/goodtune
Refresher

• Last time we looked at building up a library
  which will help save us some boilerplate
• It incorporated better form fields, simple
  decorated mixins to enforce
  authentication, and a few other niceties
This time
 • What if we need to deploy the same
    application multiple times?
 • In our URLconf we could point to the
    applications urls.py as many times as we
    need...
from django.conf.urls.defaults import patterns, url

urlpatterns = patterns('',
    url(r'^usual-use/', 'myapp.urls'),
    url(r'^it/makes/sense/here/too/', 'myapp.urls'),
)
Issues
• If your application requires configuration at
  run-time, you probably use a custom
  settings.MYAPP_VAR or similar?
• That will usually apply globally, not per
  mount point.
• If the application was an instance with it’s
  own state, the issue goes away.
Basic anatomy
class MyApp(object):

   def __init__(self, name='myapp', app_name='myapp'):
       self.name = name
       self.app_name = app_name

   def get_urls(self):
       urlpatterns = patterns('',
           url(r'^$', self.index, name='index'),
       )

   @property
   def urls(self):
       return self.get_urls(), self.app_name, self.name

   def index(self, request):
       return HttpResponse('')
Let’s see it in practice
Horses for courses
• This book store is missing a view for the
  details of a book.
• It really is an admin application, allowing
  authenticated creation and updating of
  Book instances by authenticated users.
• Lets use inheritance to split the
  functionality.
Subclass our application
Real world example
• Tournament Control is an application for
  managing sporting competitions
 • Scheduling fixtures
 • Allocating matches to grounds &
    timeslots
 • Recording results and automatic ladder
    updates
Tournament Control
• Shameless plug
 • http://www.sydney.touch.asn.au/
 • http://www.touchsuperleague.org.uk/
 • http://www.touchworldcup2011.co.uk/
• We’re interested in Touch Superleague
  because they run multiple application
  instances - they have venues in Edinburgh,
  Cardiff, and Jersey.
Lets look at
             the front-end

www.touchsuperleague.org.uk/edinburgh/draws-ladders
Questions?
• Sample project can be obtained from
  bitbucket.org

 • bitbucket.org/goodtune/sydjango-
    example-two

• This presentation can be downloaded from
  SlideShare

 • slideshare.net/goodtune/method-based-
    views-in-django-applications-14050952

More Related Content

What's hot

Active Admin
Active AdminActive Admin
Active AdminGreg Bell
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesRoel Hartman
 
Apache Stratos: the PaaS from Apache
Apache Stratos: the PaaS from ApacheApache Stratos: the PaaS from Apache
Apache Stratos: the PaaS from ApacheWSO2
 
The Most Valuable Corporate Gifts That Your Employees Will Love
The Most Valuable Corporate Gifts That Your Employees Will LoveThe Most Valuable Corporate Gifts That Your Employees Will Love
The Most Valuable Corporate Gifts That Your Employees Will LoveAugrav
 
Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...
Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...
Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...Amazon Web Services
 
Managing the Pace of Innovation: Behind the Scenes at AWS
Managing the Pace of Innovation: Behind the Scenes at AWSManaging the Pace of Innovation: Behind the Scenes at AWS
Managing the Pace of Innovation: Behind the Scenes at AWSAmazon Web Services
 
EmberJS BucharestJS
EmberJS BucharestJSEmberJS BucharestJS
EmberJS BucharestJSRemus Rusanu
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorialAhsanul Karim
 
Introduction to ember js
Introduction to ember jsIntroduction to ember js
Introduction to ember jsAdnan Arshad
 

What's hot (15)

Active Admin
Active AdminActive Admin
Active Admin
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance Issues
 
Bare acl
Bare aclBare acl
Bare acl
 
Apache Stratos: the PaaS from Apache
Apache Stratos: the PaaS from ApacheApache Stratos: the PaaS from Apache
Apache Stratos: the PaaS from Apache
 
REST API for your WP7 App
REST API for your WP7 AppREST API for your WP7 App
REST API for your WP7 App
 
The Most Valuable Corporate Gifts That Your Employees Will Love
The Most Valuable Corporate Gifts That Your Employees Will LoveThe Most Valuable Corporate Gifts That Your Employees Will Love
The Most Valuable Corporate Gifts That Your Employees Will Love
 
Get rss to blogger
Get rss to bloggerGet rss to blogger
Get rss to blogger
 
Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...
Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...
Managing the Pace of Innovation: Behind the Scenes at AWS (SPOT201) | AWS re:...
 
Managing the Pace of Innovation: Behind the Scenes at AWS
Managing the Pace of Innovation: Behind the Scenes at AWSManaging the Pace of Innovation: Behind the Scenes at AWS
Managing the Pace of Innovation: Behind the Scenes at AWS
 
EmberJS BucharestJS
EmberJS BucharestJSEmberJS BucharestJS
EmberJS BucharestJS
 
Lighting talk android espesso recorder
Lighting talk   android espesso recorderLighting talk   android espesso recorder
Lighting talk android espesso recorder
 
Apas
ApasApas
Apas
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorial
 
Rails engine
Rails engineRails engine
Rails engine
 
Introduction to ember js
Introduction to ember jsIntroduction to ember js
Introduction to ember js
 

Similar to Method based views in django applications

Angular Intermediate
Angular IntermediateAngular Intermediate
Angular IntermediateLinkMe Srl
 
GDG Addis - An Introduction to Django and App Engine
GDG Addis - An Introduction to Django and App EngineGDG Addis - An Introduction to Django and App Engine
GDG Addis - An Introduction to Django and App EngineYared Ayalew
 
Ei cakephp
Ei cakephpEi cakephp
Ei cakephpeiei lay
 
Pluggable patterns
Pluggable patternsPluggable patterns
Pluggable patternsCorey Oordt
 
BackboneJS Training - Giving Backbone to your applications
BackboneJS Training - Giving Backbone to your applicationsBackboneJS Training - Giving Backbone to your applications
BackboneJS Training - Giving Backbone to your applicationsJoseph Khan
 
Modern Automated Site Provisioning for SharePoint Online
Modern Automated Site Provisioning for SharePoint OnlineModern Automated Site Provisioning for SharePoint Online
Modern Automated Site Provisioning for SharePoint OnlineDocFluix, LLC
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practicespaulbowler
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial之宇 趙
 
Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Dimitri de Putte
 
Django Overview
Django OverviewDjango Overview
Django OverviewBrian Tol
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTTkevinvw
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-pythonDeepak Garg
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...Amazon Web Services
 
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]Udit Gangwani
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Mike Schinkel
 

Similar to Method based views in django applications (20)

Angular Intermediate
Angular IntermediateAngular Intermediate
Angular Intermediate
 
GDG Addis - An Introduction to Django and App Engine
GDG Addis - An Introduction to Django and App EngineGDG Addis - An Introduction to Django and App Engine
GDG Addis - An Introduction to Django and App Engine
 
Ei cakephp
Ei cakephpEi cakephp
Ei cakephp
 
Cakeph pppt
Cakeph ppptCakeph pppt
Cakeph pppt
 
Pluggable patterns
Pluggable patternsPluggable patterns
Pluggable patterns
 
BackboneJS Training - Giving Backbone to your applications
BackboneJS Training - Giving Backbone to your applicationsBackboneJS Training - Giving Backbone to your applications
BackboneJS Training - Giving Backbone to your applications
 
Modern Automated Site Provisioning for SharePoint Online
Modern Automated Site Provisioning for SharePoint OnlineModern Automated Site Provisioning for SharePoint Online
Modern Automated Site Provisioning for SharePoint Online
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practices
 
Django Introduction & Tutorial
Django Introduction & TutorialDjango Introduction & Tutorial
Django Introduction & Tutorial
 
Reusable Apps
Reusable AppsReusable Apps
Reusable Apps
 
Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012
 
Django Overview
Django OverviewDjango Overview
Django Overview
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTT
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-python
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Tango with django
Tango with djangoTango with django
Tango with django
 
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
 
Introduction to AngularJs
Introduction to AngularJsIntroduction to AngularJs
Introduction to AngularJs
 
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
Django apps and ORM Beyond the basics [Meetup hosted by Prodeers.com]
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Method based views in django applications

  • 1. Method-based views in Django applications Gary Reynolds Touch Technology @goodtune bitbucket.org/goodtune github.com/goodtune
  • 2. Refresher • Last time we looked at building up a library which will help save us some boilerplate • It incorporated better form fields, simple decorated mixins to enforce authentication, and a few other niceties
  • 3. This time • What if we need to deploy the same application multiple times? • In our URLconf we could point to the applications urls.py as many times as we need... from django.conf.urls.defaults import patterns, url urlpatterns = patterns('', url(r'^usual-use/', 'myapp.urls'), url(r'^it/makes/sense/here/too/', 'myapp.urls'), )
  • 4. Issues • If your application requires configuration at run-time, you probably use a custom settings.MYAPP_VAR or similar? • That will usually apply globally, not per mount point. • If the application was an instance with it’s own state, the issue goes away.
  • 5. Basic anatomy class MyApp(object): def __init__(self, name='myapp', app_name='myapp'): self.name = name self.app_name = app_name def get_urls(self): urlpatterns = patterns('', url(r'^$', self.index, name='index'), ) @property def urls(self): return self.get_urls(), self.app_name, self.name def index(self, request): return HttpResponse('')
  • 6. Let’s see it in practice
  • 7. Horses for courses • This book store is missing a view for the details of a book. • It really is an admin application, allowing authenticated creation and updating of Book instances by authenticated users. • Lets use inheritance to split the functionality.
  • 9. Real world example • Tournament Control is an application for managing sporting competitions • Scheduling fixtures • Allocating matches to grounds & timeslots • Recording results and automatic ladder updates
  • 10. Tournament Control • Shameless plug • http://www.sydney.touch.asn.au/ • http://www.touchsuperleague.org.uk/ • http://www.touchworldcup2011.co.uk/ • We’re interested in Touch Superleague because they run multiple application instances - they have venues in Edinburgh, Cardiff, and Jersey.
  • 11.
  • 12. Lets look at the front-end www.touchsuperleague.org.uk/edinburgh/draws-ladders
  • 14. • Sample project can be obtained from bitbucket.org • bitbucket.org/goodtune/sydjango- example-two • This presentation can be downloaded from SlideShare • slideshare.net/goodtune/method-based- views-in-django-applications-14050952