
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 <i>at</i> 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
Comments - 8 people have already said something. Join the discussion.
Simon G said…
*cough* ...you forgot Adrian being mentioned in Rolling Stone :)
http://www.rollingstone.com/rockdaily/index.php/2008/06/18/site-specific-radioheadremixcom-the-porter-report-bandsintowncom/
--Simon
Julian said…
In the django wiki you can find some information about using vim with django: http://code.djangoproject.com/wiki/UsingVimWithDjango
Christian said…
Regarding download speed: i just downloaded the new episode and noticed a great speed improvement, almost maxing out my connection. so i think you found the bottleneck.
(and yes i am listening from europe: germany)
Peter Baumgartner said…
Haven't had a chance to listen to the show yet, but leafing through the notes, I thought this link might come in helpful as well: http://lincolnloop.com/blog/2008/mar/25/serving-django-cherrypy/
I wrote a Django management extension to handle CherryPy WSGIServer processes a while back. Since then, I've moved to mod_wsgi in daemon mode, but the post might be helpful to some going down the CherryPy route.
anon said…
MacVim is at code.google.com/p/macvim . It's much better than the vim you find at macvim.org, which is merely the old Carbon-based vim for mac.
Godefroid Chapelle said…
KSS is not related to RJS. We are not generating JS from Python.
KSS is a layer that avoids to write any JS to bind behaviours to DOM nodes in client or to execute any DOM changes after the server sends back data.
You can cover 100% of simple AJAX use cases.
It is the builtin AJAX framework in Plone since 3.0.
bernd said…
sorry that i use this comment form here, but on your posting
http://blog.michaeltrier.com/2007/8/5/digging-into-django-syndication-framework
if len(bits) < 1:
would make a programming Error exception when you have more than one bits :)
if len(bits) != 1:
should fix it.
thanks for all your work! :)
Empty said…
@Simonw: ouch. Well I didn't know about it but that's cool.
@Julian: Yeah I should have linked to that. Thank you.
@Christian: thank you for the feedback. Glad it's better.
@Godefroid: well that confuses things even more.
@bernd: hmm, I will look into it. Too long ago to remember.