This Week in Django 35 has been posted. Don’t miss it. We catch up with Robert Lofthouse, Chairman of DjangoCon and EuroDjangoCon.
This Week in Django 34 - 2008-08-17
This Week in Django 34 has been posted.
This week we discuss Django 1.0 Beta 1, a bunch of source commits, some cool projects from the community, and a tip of the week.
This Week in Django 33 - 2008-08-10
This Week in Django 33 has been posted.
This week we discuss the NEW This Week in Django site, a bunch of source commits, and some cool projects from the community.
All show notes from now on will be on the new This Week in Django dedicated site.
This Week in Django Delayed
This Week in Django will be delayed this week. We hope to get it out by tomorrow evening. We have been experiencing technical difficulties. Thank you, and now back to our regular scheduled program…
This Week in Django 32 - 2008-08-03

This Week in Django is a weekly podcast about all things Django.
This week we have a very special guest, Justin Bronn, creator of GeoDjango the GIS branch of Django. We also discuss a few source commits, some cool projects from the community, and the Tip of the Week.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (53.6 MB, 1:08:44, AAC)
MP3 Edition (47.3 MB, 1:08:44, MP3)
OGG Edition (34.4 MB, 1:08:44, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News (0:48)
- DjangoCon tickets have come and go. If you didn’t get yours sign up for the waiting list.
- Version 1.0
- Beta 1 scheduled to drop on 8/5/08.
- Push to Beta 2 sprint – Friday August 8, 2008 in Lawrence, KS and on IRC (#django-sprint).
- Django Sprint in Berlin
Interview – Justin Bronn (5:11)
Justin Bronn is a computer scientist and third-year law student at the University of Houston who enjoys studying legal topics related to intellectual property and spatial law. Prior to creating GeoDjango, Justin worked as a patent engineer for an intellectual property boutique in Houston and developed scientific data analysis applications for the Southwest Research Institute in San Antonio.
CartoAnalytics is Justin Bronn’s consulting company. CartoAnalytics provides innovative solutions to harness the power of your geospatial data.
- Getting started with GeoDjango
- GeoDjango Site
- GeoDjango Wiki
- GeoDjango Docs
- GeoDjango: Web Applications for Geographers with Deadlines – Video of presentation From O’Reilly Where 2.0 Conference, Burlingame, CA, May 14, 2008.
- GeoDjango Presentation at FOSS4G2007
- An IRC channel is available – join
#geodjangoon freenode.
- Other items mentioned
- Houston Crime Maps – excellent reference application for GeoDjango.
- The limited_related admin plugin.
- Take Control of Your Maps – Excellent article by Paul Smith on using OpenLayers
- Open source geospatial libraries:
Tracking Trunk (39:51)
- Addition of Intermediate Models
(8136)– Excellent addition by Eric Forenzano and Russell Keith-Magee that allows you to add join models with extra attributes.- Django Model Documentation
- Django Admin Documentation
- Intermediary Models and PyMag – Blog post by Eric Florenzano discussing intermediary models.
- Implemented a secure password reset form
(8162)– It uses a token and prompts user for new password, plus also adds base36 encoding and decoding.
- Removed several deprecated features for 1.0
(8191)– Removes:- “simple” cache backend
- ObjectPaginator
- edit_inline_type argument for ForeignKey fields
- QOperator, QNot, QAnd and QOr
- maxlength argument
Community Catchup (48:10)
- django-command-extensions becomes django-extensions – We’re renaming the project and the import point from
extensionstodjango_extensions. This will happen in one week.
- Admin Image Widget Pete Baumgartner, LincolnLoop, posted this nice snippet that displays an image instead of a file path if the current file is an image. If you read the comments, another user updated the code generating the thumbnails to use the popular django open source project sorl-thumbnail
- How Django is good for SEO Patrick Beeson is a project manager for E.W. Scripps Interactive Newspaper Group in Knoxville, TN. In the past Patrick has published a few good django related posts but this was is of interest because it discussed one of the many “out of the box” application benefits the django toolset provides.
- django-assets – Asset management for Django. Automatically compresses javascript files. Supports the following filters: jsmin, jspacker, csstidy, cssutils, yui_js, yui_css, gzip, cssrewrite.
- Translating Django apps. Good practices – Great rundown by Marc Garcia on how to go about translating your Django applications. Marc is the Django localizer for the Catalan language. Learn more about Marc and localization on This Week in Django 20.
- Threaded Comments For Your Site Eric Florenzano’s article for the relatively new Python Magazine was published this month. Eric talks about his open source google code project django-threadedcomments and how to integrate the simple yet flexible threaded commenting system for Django-based websites.
Tip of the Week (1:00:50)
Use decorator_from_middleware to create a decorator that can be used in your views, which wraps up a middleware class.
from django.utils.decorators import decorator_from_middleware
from django.middleware.middlewaremodule import MiddlewareClass
decoratorfunc = decorator_from_middleware(MiddlewareClass)
This code is not documented but added as part of cache reworking. See this thread for more information:
Thank You! (1:03:19)
- Brian Rosner
- Kevin Fricovsky
- Monty Lounge Industries – Kevin’s web strategy, design, and development company.
- How I Work Daily – Kevin’s blog.
- Michael Trier
This Week in Django 31 - 2008-07-27

This Week in Django is a weekly podcast about all things Django.
This week we discuss Satchmo, the Django open-source E-Commerce application with Chris Moffitt and Bruce Kroeze. We also look at a few source commits and some cool projects from the community.
Apologies for some of the microphone noise.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (89.3 MB, 1:52:43, AAC)
MP3 Edition (77.4 MB, 1:52:43, MP3)
OGG Edition (63.3 MB, 1:52:43, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News (0:00)
- PyOhio was amazing. Kudos to Catherine Devlin for doing an awesome job.
- Django 1.0 Alpha – Test it out and provide feedback.
- Django Push to Beta Sprint – August 1 in Washington, DC and on IRC.
- Twiderrific on Twitter
Interview – Satchmo Developers (8:33)
Satchmo is a Django based E-Commerce solution.
- Chris Moffitt – Project Lead
- Bruce Kroeze
- Coder’s Eye Blog
- Solid Site Solutions
- GoSatchmo – Commercial support site for Satchmo
- Mentioned Items
- OSCommerce – Popular PHP based E-Commerce solution.
- Pinax – reusable apps reference application.
- Free Software Foundation
- Ooh-Ga-Boo-Ga – Huge installation of Satchmo
Tracking Trunk (1:02:46)
- Changed/fixed the way Django handles
SCRIPT_NAMEandPATH_INFO(8015)– Basically, URL resolving will only use thePATH_INFOand theSCRIPT_NAMEwill be prepended byreverse()automatically. Allows for more portable development and installation. Also exposes SCRIPT_NAME in the HttpRequest instance.
- To ensure that a model BooleanField? has an explicit value set
(8050): – Since it’s not required, by default, set the default properly in the constructor.
- Handle sitemaps with more than 50,000 URLs in them
(8088)– Implemented by using pagination.- sitemaps spec limit of 50,000.
Community Catchup (1:08:41)
- Callcast – Discussion with Nathan Borror – Another great discussion by Kevin Fricovsky, this time with Nathan Borror.
- Semantic Django – David Larlet’s website where he archives a collection of open source semantic reusable django apps including such technologies as OpenID, OAuth, Microformats, RDF, FOAF, REST, Atom, Snippets and Patchs.
- Top ten things that suck about Django, revisited – Jeff Croft does a follow up article on a post he did two years ago updating the status of the items needing improvement.
- Automating tests in Django – Great post by Eric Holscher that goes through how to create integration tests for your Django applications in an automated way through the use of a Middleware that logs the test creation output to a file.
- Automating Test Creation – Empty’s feedback on it.
- Testmaker .002 – Eric updates us with new additions to his open source test project including adding a management command, making it simple to add TestMaker to your project just but adding a reference to INSTALLED_APPS.
- Building a Community Site with Django in 40 Hours or Less – Excellent writeup on the Lincoln Loop blog that shows how they quickly built out a Biking Trail application in Django on top of the Pinax platform.
- Django Subdomains – Every have the requirement to implement customized subdomains in your django app, mapping to a model key? It makes for clean, personal, simple to remember url (ex. username.yourappname.com). If you’ve ever used the popular Basecamp web application you’re familiar with their URL structure – [companyname].projectpath.com. This tutorials details how you can do the same as well as references other posts who attempted the same thing, and issues they all ran into along the way.
- Creator/updater fields for admin – Peter Baumgartner, LincolnLoop, recently got his hands dirty customizing a newforms-admin implementation and created a a customized ModelAdmin class that sets fields for models saved in admin corresponding to the user that created the object and the user that last updated the object. Seems trivial for the currently edited model but the catalyst for this was making sure inlines received the same auditing synchronization. He also leverage JQuery to provide additional client side logic.
- Replacing Django’s ORM with SQLAlchemy – Will Larson steps through how to use SQLAlchemy within Django but replacing the ORM.
- Replacing Django’s ORM with SQLAlchemy – Empty’s feedback on it.
- Tranquil – another way to use SQLAlchemy with Django.
- FLOSS Weekly interviews Jacob Kaplan-Moss – Randal Schwartz interviews Jacob Kaplan-Moss at OSCON about Django.
Thank You! (1:46:38)
- NERD_Tree – Excellent VIM plugin that gives a project drawer like behavior.
- Brian Rosner
- Kevin Fricovsky
- Monty Lounge Industries – Kevin’s web strategy, design, and development company.
- How I Work Daily – Kevin’s blog
- Michael Trier
This Week in Django 30 - 2008-07-20

This Week in Django is a weekly podcast about all things Django.
This week we discuss the NewForms-Admin merge into Trunk, DjangoCon, a few source commits, some cool projects from the community, and the Tip of the Week.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (41.8 MB, 49:31, AAC)
MP3 Edition (34.1 MB, 49:31, MP3)
OGG Edition (27.9 MB, 49:31, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News (0:47)
- NewForms-Admin Branch Merges to Trunk – A huge step towards Version 1.0.
- Version 1.0 Sprint Schedule
- NewForms Admin Documentation
- Updated NewForms Documentation
- newforms-admin Migration and Screencast – Great way to get started and make the migration to NewForms-Admin.
- Pre-NFA Merge Tag
- DjangoCon Web Site and DjangoCon Schedule Released – It’s quite a lineup. We hope to see everyone there.
Tracking Trunk (15:04)
- Removed the mysql_old backend
(7949)– According to Malcolm Tredinnick, it smells bad and has no friends.
- newforms -> forms switch
(7971)** django.newforms is now django.forms. Updated your code.
- Performance Improvements for urlize and urlizetrunc filters
(7985)– This one has bit us on the Django Logger.
Community Catchup (26:16)
- Kevin Fricovsky – joins the This Week in Django team as Community Evangelist. Kevin will be working to produce the show, contacting guests, gathering news items, coming up with ideas. Kevin has been doing this work regularly anyway so it’s great of him to team up with us to help out the program:
- Monty Lounge Industries – Kevin’s web strategy, design, and development company.
- How I Work Daily – Kevin’s blog. You should have this one in your feedreader.
- PyWorks conference – to be held in Atlanta, GA on November 12-14, 2008.
- PyOhio – Reminder that this free one day conference is in Columbus, OH on July 26, 2008.
- Twitter Search – via Kevin Fricovsky using the new Twitter Search capability to track all tweets about django.
- Jinja2 Final aka Jinjavitus Released – Armin Ronacher and the rest of the Pocoo team announced the release of this wicked-fast Django inspired template engine.
- OSCON Python BoF – Tuesday, July 22nd 7pm – 10pm from Jax Bar and Restaurant. Via Jason Kirtland’s excellent blog discorporate.
Tip of the Week (38:32)
This tip comes to us via Ben Jao Ming in his post Django auto-translation of field values.
If you need to translate content in a field then gettext is not going to help you out. Since you can create your own custom fields it’s easy to wrap a CharField with the translation behavior:
from django.db import models
from django.utils.translation import gettext_lazy as _
class AutoTranslateField(models.CharField):
__metaclass__ = models.SubfieldBase
def to_python(self, value):
return str(_(value))
Just add whatever translations you know of to the locale file and run compilemessages.
Thank You! (42:45)
- 7 Habits For Effective Text Editing 2.0 – Awesome video by Bram Moolenaar
- Brian Rosner
This Week in Django 29 - 2008-07-13

This Week in Django is a weekly podcast about all things Django.
This week we have a special guest, Kevin Fricovsky, that joins us as we talk about DjangoCon, EuroPython, a few source commits, some cool projects from the community, and the Tip of the Week.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (74.2 MB, 1:31:20, AAC)
MP3 Edition (62.8 MB, 1:31:20, MP3)
OGG Edition (51.5 MB, 1:31:20, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News (3:38)
- EuroPython 2008 has come and gone.
- DjangoCon – Jacob Kaplan-Moss let the cat out of the bag and let us know that a DjangoCon is being planned for the 1.0 release timeframe for September 6th and 7th. More details to follow. We’ll keep you posted.
- Official Announcement
- A Quote from Robert Lofthouse via Simon Willison’s blog.
“DjangoCon 2008. Venue: Googleplex, San Francisco Bay Area. Dates: 6th and 7th Sept. Official post will be on djangoproject.com soon.”
Tracking Trunk (14:27)
- Added a
ping_googlemanagement command to the sitemaps contrib(7813)– Makes it easy to ping Google once your Sitemap is up and running.
- Fixed #2070: refactored Django’s file upload capabilities.
(7814)- Django now handles large files nicely in uploads with the new streaming file upload handling.
- New uploading documentation
- There have been a ton of fixes since this landed.
- Multi-part MIME parsing fix
(7905) - Support pluggable backends for FileField
(5361)
- Moved make-messages, compile-messages and daily-cleanup into
django-admin.py(7844)– This makes them easily accessible as management commands and reduces the number of binaries and man pages.- django-command-extensions – This is a repository for collecting global custom management extensions.
- Jannis Leidel -
Branching and Merging (34:18)
- Added autodiscover functionality to django.contrib.admin.
(7872)- This makes the admin aware of per-app admin.py modules and does an import on them when explicitly called.
- Added some documentation about media defintions in ModelAdmin classes.
(7873)- Subtle backward incompatible change
- Learning NewForms-Admin
Community Catchup (47:27)
- How to build Django web apps – Looks to be a great workshop with one of Django’s superstars, Jeff Croft.
- django-treemenus – Very cool application by Julien Phalip that makes it easy to add tree menus to your Django app and manage the structure dynamically from the customized admin interface. View the 0.4 release post for more information.
- First Two Django Screencasts – Eric Florenzano never sleeps. His first foray into screencasts are quite impressive. He covers: 1. Setting up a Django Environment 2. Using Django-Pagination
- Interview with Jacob Kaplan-Moss – Great interview by Brazilian Marinho Brandão.
- Yahoo’s Build your Own Search Service in Django – Will Larson offers two informative articles on integrating BOSS with Django.
Tip of the Week (1:10:41)
Mike Axiak offers the following tip for getting started with contributing to Django source code.
1. Find a closed ticket that interests you. 2. Take a look at a closed ticket, but not the patch. 3. Check out the revision prior to the one that closed the ticket. 4. Write a patch for Django with your own implementation. 5. Compare your patch with the committed patch and try to learn from the differences.
Once you’re comfortable do it for real.
Thank You! (1:23:24)
- Django-Chunks – Simple keyed content that you can insert into your templates.
- Cloud27 – A social network built on Pinax.
- This Week in Django 24 – Interview with Pinax / Cloud27 founder James Tauber.
- Django-Hotclub Channel
- Kevin Fricovsky
- How I Work Daily
- Django-NYC – Discussion group for Django-NYC attendees. If you’re in the NY area, be sure to check it out.
- Brian Rosner
No TWiD This Week
Apologies to all but there will be no This Week in Django podcast this week. Enjoy the week off and we look forward to seeing you all next week on TWiD Live.
This Week in Django 28 - 2008-06-30

This Week in Django is a weekly podcast about all things Django.
This week we talk about quite a few source commits (kicking-ass), some cool projects from the community, the Tip of the Week, and a question from the IRC.
Let us know if downloads are better for those of you in Europe.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (50.3 MB, 1:01:06, AAC)
MP3 Edition (42 MB, 1:01:06, MP3)
OGG Edition (32.9 MB, 1:01:06, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News
Malcolm Tredinnick is back!!!
Tracking Trunk (1:08)
- QuerySet Refactor Cleanup – Several tickets related to QuerySet Refactor merge and unrelated but just database stuff in general:
- Corrected DateQuerySet to handle nullable fields
(7739)– Previously if the date field was nullable no results were returned. - Corrected values and values_list across nullable joins
(7740)– Previously, if we were querying across a nullable join and then a non-nullable one, the second join would not be a LEFT OUTER join, which would exclude certain valid results from the result set. (7741),(7773), and(7760)through(7766)– Lots of miscellaneous QuerySet changes- Delete multi-table objects correctly.
(7784)– When model inheritance is used, the parent objects should be deleted as part of thedelete()call on the child. - Changed the way extra() bits are handled when QuerySets? are merged.
(7791)
- Corrected DateQuerySet to handle nullable fields
Community Catchup (19:28)
- Django newforms-admin upgrade – Luke Plant discusses his experiences with upgrading to the Django NewForms-Admin branch. Great post if you’re considering making the jump.
- Kss in Django – KSS is a javascript framework that aims to allow Ajax development without javascript. It uses stylesheets with CSS-compliant syntax to setup behaviours in the client and a set of well-defined commands that are marshalled back from the server to manipulate the DOM.
- Oh Django Song – Creative Mac OS X snippet.
- Python and Django Setup for Mac OS X Leopard – Exhaustive walkthrough by David A Krauth on setting up Django on Mac OS X.
- Edit Inline Support for Generic Relations – Patrick Altman delivers an article discussing how he implemented edit-inline support for generic relations.
- Django code_swarm – A kick ass-swarm visualizer by Brian Rosner for the Django source code from initial release to today.
code_swarm– An experiment in organic software visualization.- SQLAlchemy Code Swarm
- The basics of creating a tumblelog with Django – Interesting post by Ryan Berg. Similar projects are Jelly-Roll and SyncR and Django Lifestream.
- An Interview with Adrian Holovaty – Creator of Django – Another excellent interview by Shabda Raaj.
Tip of the Week (43:49)
Ever need to reorder the fields on your Model Form?
class TranslationForm(BookForm):
translator = forms.CharField(max_length=40)
def __init__(self, *args, **kwargs):
super(TranslationForm, self).__init__(*args, **kwargs)
self.fields.keyOrder = ['title', 'author', 'translator', 'publisher', 'copyright']
IRC Ad Nauseam (47:10)
Backwards Incompatible Changes Information
Charlie O’Keefe say, “I’ve gotten into designing restful URL schemes, basically organizing a web app around resources. Learning Django I was frustrated to find that nothing seems to be done this way. Is there any tool that can help with that?”
- django-rest-interface – Google Summer of Code project by Andreas Stuhlmüller.
Thank You! (50:58)
- MacVim
- Using TextMate with Django – Great TextMate bundle by Paul Bissex.
- E Text Editor – Cool TextMate clone for Windows. Utilizes TextMate bundles.
- Using Vim with Django
- BosnoWsgi – Brian Rosner’s Tool for managing WSGI processes
- Monit – Great Unix System management
- CherryPy – a pythonic, object-oriented HTTP framework.
- Hosting a Django Site with Pure Python – Great post by Eric Florenzano.
- Serving Django via CherryPy
- Bill Gates Retires
- Bill Gates Unhinged – amazing email from Bill Gates about his frustrations with using Microsoft software.
- TWiT Podcast
- Story by Todd Bishop
- Brian Rosner
This Week in Django 27 - 2008-06-22

This Week in Django is a weekly podcast about all things Django.
This week we talk about the Django Software Foundation, some source commits, some cool projects from the community, a Tip of the Week. and a couple IRC items. It’s a packed show.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (55.8 MB, 1:08:08, AAC)
MP3 Edition (46.8 MB, 1:08:08, MP3)
OGG Edition (38.5 MB, 1:08:08, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
SPONSOR: This Week in Django is brought you by Justin Lilly, who according to all historic accounts, once scissor kicked Angela Landsbury. Thank you Justin.
Big News (2:18)
New foundation for Django – Lawrence-Journal World announces new Django foundation and code commits change license ownership.- Jacob Kaplan-Moss Signing Papers – History in the making.
Tracking Trunk (5:02)
- login view no longer assumes that set_test_cookie has been called.
(7692)- This is mildly backwards-incompatible, but in the “now it works the way it should have all along” sense.
Branching and Merging (9:50)
Community Catchup (15:57)
- DebugFooter Redux – Last week we talked about Andreas Marr very cool Django Snippet to add debug information into the footer of each webpage. This week he did it one better based on some suggestions from our program. Now that’s what I call Podcast Driven Development™.
- Django Tutorial – Abstract Base Classes vs Model Table Inheritance – Awesome post by Kevin Fricovsky that covers the difference between Abstract Base Classes and Multi-Table Inheritance.
- django_templatecomponents – A django application by Filip Noetzel that makes it easy organize your component source (javascript, css) right in your django templates to to make your website much faster.
group_requiredDecorator – Matt Dennebaum offers a nice addition to your Django projects that adds the ability to check for authorization of a user against the specified group.
- django-ajax-validation – A reusable application by Alex Gaynor for doing ajax validation with django newforms. It requires jQuery.
- Git repository also available
- Ticket 2070 – Streaming file uploading by Mike Axiak.
- Fun with queryset-refactor – Another great post by James Bennett discussing some of the new features that were part of the Queryset-Refactor merge.
- Practical Django Projects – Forthcoming book by James Bennett.
- Werkzeug Debugger in Django – The Werkzeug debugger has a kick ass AJAX based console option to debug traceback items in the web browser.
- Changeset 7537
- Ticket 3527 – Adds Werkzeug to Django directly.
- Let’s talk about documentation – Excellent post by James Bennett on how he approaches documentation for his Django projects.
Tip of the Week (43:22)
This tip comes from Alexander Solovyov in his blog post Render To Improved.
Sometimes you want to return a RequestContext from a view. One way to do that is to specify the response code using a decorator.
@render_to('mytemplate.html')
def myview(request):
return ({'id': 1, 'name':'empty'})
# example with override
@render_to('mytemplate.html')
def myview(request):
return ({'name':'empty'}, 'override.html')
# python 2.3 example with override
def myview(request):
return ({'name':'empty'}, 'override.html')
myview = render_to(myview, 'mytemplate.html')
You can also return a tuple where the second item is a string that overrides the default template specified in render_to.
- Permalink Decorator – “A backwards remapper hulu-hooping dancer, thingy.”—brosner
IRC Ad Nauseam (51:11)
Backwards Incompatible Changes Information
What’s the difference between Abstract Base Classes and Multi-Table Inheritance?
Abstract Base Classes are where you provide a base class, like Person, and then a derived class like Employee. Django will create a single database table for the Person model that contains the combined fields from both the base and derived classes.
Multi-Table Inheritance also has the base and derived class but at the database level you end up with two tables: one for the base class and one for the derived class, with a one-to-one field added in to connect the two.
Again, we highly recommend the excellent post by Kevin Fricovsky that we mentioned in Community Catchup. Plus, as always, the excellent Django documentation.
- Abstract Base Classes – Django documentation on the subject.
- Multi-Table Inheritance – Django documentation on the subject.
Is there a way to pass the filter arguments as string to the QuerySet?
QuerySet parameters are standard Python keyword arguments, and can use standard keyword argument expansion.
Post.objects.filter(datetime__year=2008)
Post.objects.filter(**{'datetime__year': 2008})
- Dynamic Functions – Excellent post by Marty Alchin that discusses keyword arguments in a very easy to understand way.
Thank You!
- Facestat scales fast for Yahoo traffic
- Scaling Fast by Lukas Biewald
- Eric Florenzano in Japan – Follow him in his travels. Lots of very cool pictures.
- Brian Rosner
This Week in Django 26 - 2008-06-16

This Week in Django is a weekly podcast about all things Django.
This week we talk about the Django 1.0 Roadmap, EuroPython Sprint, tons of source commits, great stuff happening in the NewForms-Admin branch, some cool projects from the community, and the Tip of the Week.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (32.4 MB, 55:28, AAC)
MP3 Edition (38.1 MB, 55:28, MP3)
OGG Edition (30.8 MB, 55:28, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News (1:37)
EuroPython Django Sprint – We are holding an official Django sprint, July 10th until saturday July 12th, during the EuroPython conference. Join us in the push to 1.0.
Tracking Trunk (9:19)
- Fixed serialization for multi-model inheritance
(7600)- Serializers were including all superclass fields in their output. Now only local fields are included.
- Implicit OneToOne? primary keys were not correctly added to the metamodel, so they were always marked to be serialized, even though they were primary
- Model saving was too aggressive about creating new parent class instances during deserialization. Raw save on a model now skips saving of the parent class.
- Prevent update on sliced queryset
(7601)– Update doesn’t reliably support limit and offset.
- Added an
--excludeoption to dumpdata(7615)– This makes it possible to exclude a particular application from the output.
- Abstracted some more database options into DatabaseFeatures
(7643)– This makes it easier to control behavior through the database backend.
- Improved fixture error reporting
(7653)– It now displays the entire traceback.
Branching and Merging (17:06)
- newforms-admin is now trunk feature compatible.
- Improvements to the ModelAdmin API.
- Added ability to pass extra_context argument to ModelAdmin’s add_view, change_view, changelist_view, delete_view and history_view methods.
(7627)- This makes it easier to customise those pages; you can over-ride the methods in your subclass and call the super method with extra_context to feed additional variables to your custom admin templates.
- Made it easier to specify a custom template to be used in the admin section.
(7630)- You can now specify index_template and login_template properties on an AdminSite subclass, and change_form_template, change_list_template, object_history_template and delete_confirmation_template properties on a ModelAdmin subclass.
- Added ability to pass extra_context argument to ModelAdmin’s add_view, change_view, changelist_view, delete_view and history_view methods.
- Formsets API is now finalized. Documentation was committed for formsets.
(7606)
Community Catchup (29:58)
- Callcast – Discussion with Eric Florenzano – Nice interview by Kevin Fricovsky with Eric Florenzano. A little raw but enjoyable.
- Django Dash Results – Congratulations to all the participants. Check the results for information on all the winners.
- 1st Place – Benjamin Pollack and Tyler Hicks-Wright – Their site was a code review site with Mercurial integration.
- 2nd Place – Eric Florenzano and Tony Hauber – Feedalizer is a syndication feed aggregation based on popular feeds ranked by users.
- 3rd Place – Justin Lilly and Jannis Leidel – A site connecting developers & translators with rankings for translators and groupings.
- A Better Serialization Framework – A series of interesting posts by fiam on creating what he calls a better serialization framework.
- DebugFooter middleware with Pygments sql syntax highlighting – In a never-ending quest to create the ultimate debug footer, Andreas Marr has created yet another version.
- js-forms – Jonathan Buchanan has been busy porting newforms to Javascript.
Tip of the Week (41:59)
If you have a template tag that you want to automatically load into context for all of your templates, you can take the same approach Django does with the built-in template tags.
This must be done early on in the load process, so in your __init__.py for the app or project, just do:
from django.template import add_to_builtins
add_to_builtins('template_utils.templatetags.generic_content')
- django-template-utils – James Bennett’s excellent template utilities
Thank You! (44:56)
- FireFox Day 6/17/08 – Download version 3.
- Firebug Extension – excellent for Javascript debugging.
- Webkit – Open source rendering engine used in Safari.
- Code Swarm – Python – amazing swarm representation of Python code commits over years of time. You have to see this!
- Brian Rosner
This Week in Django 25 - 2008-06-08

This Week in Django is a weekly podcast about all things Django.
This week we talk about a few source commits, a discussion about releases, Some cool projects from the community, and the Tip of the Week.
We liked this one so much we decided to record it twice!
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (42.9 MB, 52:57, AAC)
MP3 Edition (36.4 MB, 52:57, MP3)
OGG Edition (28.3 MB, 52:57, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Tracking Trunk (4:05)
- Tightened up ForeignKey and OneToOne field assignment.
(7574)- Raise a ValueError if you try to assign the wrong type of object.
- Raise a ValueError if you try to assign None to a field not specified with null=True.
- Cache the set value at set time instead of just at lookup time.
- This is a slightly backwards-incompatible change; see BackwardsIncompatibleChanges for more details.
- Allow Meta to be a newstyle class
(7585)– This change allows you to use new style classes for the internal Meta class.
- Added get/set_expiry methods to session objects
(7586)– you can now set expiry time on sessions objects through theset_expirymethod.
- Added ‘manage.py createsuperuser’
(7590)– This has been something that a lot of people have wanted and has been supported in django-command-extensions for some time.
- Improved error checking when loading fixtures
(7595)– this tightens up the potential for problems with fixtures.
Community Catchup (15:58)
- Interview with Jacob Kaplan-Moss – Shabda Raaj of the 42Topics Blog continues his quest to interview interesting people in the Django community. It’s an amazing interview and quite thought provoking.
- About Django and the importance of releases – Interesting post by Christian Joergensen arguing that Django needs to have releases more often. Created a bit of a stir in the community. Follow on discussion occurred in the Django-Developers group.
- StaticGenerator for Django Updated – Jared Kuolt adds middleware that allows StaticGenerator to run during normal project usage.
- Django India – Google Group discussion for Django developers in India.
- django-arcade – a Django pluggable app that gets a constantly updating list of flash games and swf files every day that you can include with a template tag into any project you want.
- Low-level cache decorators for Django – Great post on using decorators to handle caching within models.
Tip of the Week (44:00)
Onno Timmerman sends us this tip with doing Internationalization.
I needed to give someone a django.po file. Normaly a user wants to edit it with Microsoft Word, even when you ask not to they tend to do it! Poedit is a great program that makes it easy to edit these files.
Thank You! (45:39)
Intermediate Models – Ticket 6095 – Worked on by Eric Florenzano
Brian RosnerJunk in the Trunk by Campfire Dusty Rootin’ Tootin’ Sing-A-Longs & Campfire Ditties
This Week in Django 24 - 2008-06-01

This Week in Django is a weekly podcast about all things Django.
This week Eric Florenzano fills in while Michael is out. We talk to James Tauber about who he is and what Pinax is. A few trunk changes and some community bits.
Please see the Show Notes below for all the pertinent information and links
Downloads
AAC Enhanced Podcast (32.7 MB, 44:47, AAC)
MP3 Edition (41.7 MB, 44:47, MP3)
OGG Edition (53.7 MB, 44:47, Vorbis)
The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.
Quick note, Brian Rosner did the audio in Michael’s absence. Its not as good as what Michael produces, but he is getting better with it :)
Feeds Available
iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.
iTunes Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
Regular RSS Feeds
This Week in Django – AAC Edition
This Week in Django – MP3 Edition
This Week in Django – OGG Edition
Give Us Feedback
Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.
Show Notes
Big News (0:25)
We’re back! Apologizes for last week’s cancellation. Michael’s wife gave birth to their 2nd child, Lucas Matthew Trier. Welcome to the world, Lucas!
James Tauber Interview (1:12)
- James Tauber on DjangoPeople.
- His blog
- James is the CTO at US-based startup mValent.
- Tell us a little about mValent? Is Django involved?
- In 2000, Network World named you one of 50 on power’s edge.
- What was it for?
- How did you come to find and use Django?
- Quisition – The Online Flashcard system.
- habitualist – Make a habit of it.
- You created django-hotclub. What is it?
- django-hotclub
- django-email-confirmation – Provides a way to handle email confirmation without getting in the way of the user.
- django-command-extensions – Provides many useful commands to your ./manage.py script.
- django-robots
- django-databasetemplateloader
- django-friends – Defines a relationship between two Users and provides utilities and tools around it.
- django-notification
- django-mailer – Asynchronous e-mail handling with a do-not send list and more.
- django-messages – Private messaging between users on a site.
- django-announcements – Provides a simple way to announce things to all members on a site.
- django-timezones – Localizes all datetimes on a site to the user specification.
- Pinax – Project connecting all reusable apps together to provide a framework to adding your own.
- django-hotclub
Tracking Trunk (31:51)
- Corrected the loading of templates from eggs, which was broken by the unicode merge.
(7565) - Corrected the caching of objects in reverse OneToOne? relationships.
(7561) - Big glaring warning in docs/flatpages.txt to remind people how response middleware works.
(7555)
Community Catchup (35:09)
- sleepy-django – Sleepy, allows you to create a static site by rendering Django templates to HTML.
Thank You! (39:08)
- Special thanks to Brian Rosner for handling the show production this week. You did an awesome job man.
This Week in Django - Cancelled
Due to the Memorial Day Weekend and the lack of any pressing news, we’ve decided to cancel the show this week. Brian Rosner and I hope you all have an opportunity to spend time with family and friends. We’ll be doing the same.


