Tuesday, April 15, 2008

This Week in Django 18

with hosts Michael Trier and Brian Rosner

Bookmark and Share

This Week in Django is a weekly podcast about all things Django.

This week we talk about Google App Engine, some changes to the QuerySet Refactor branch, the documentation refactor sprint, some cool projects from the community, the Tip of the Week, and a question from the IRC.

Please see the Show Notes below for all the pertinent information and links

Downloads

AAC Enhanced Podcast (31.0 MB, 52:51, AAC)

MP3 Edition (36.3 MB, 52:51, MP3)

OGG Edition (29.0 MB, 52:51, 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 (1:23)

Tracking Trunk (14:55)

Branching & Merging (16:40)

Community Catchup (24:14)

  • Django Plugables – Django site to be a centralized repository for django projects.
    • Lessons LearnedEric Florenzano posted an excellent post in relation to the Django Plugables release and his own community project, Django Apps. He prefaces the post with an great quote by George S. Patton, “A good plan, violently executed now, is better than a perfect plan next week.”
  • DjangoBot / DjangoPeople Integration – Simon Willison and Brian Rosner teamed up to provide a two way integration with the two services. DjangoBot now will report back to DjangoPeople.net when you are active in any of the Django related channels it lives in. This all goes without saying that it can be turned off in your privacy settings on DjangoPeople.net. This will only occur if you have a DjangoPeople.net account AND have given your IRC handle. You will be notified the first time the bot sees you and begins tracking you with a Private Message.

Tip of the Week (44:41)

Calling the delete method on a related object deletes the many side objects too, but does not call the delete method on the many side. There is an easy way to accomplish the same thing using signals.

  • Ticket 6565 – discusses this issue and the solution.

class B(models.Model):
    a = models.ForeignKey(A)

def pre_delete(self):
print ‘deleting b’

def delete_b(sender, instance, signal, *args, **kwargs):
instance.pre_delete()

dispatcher.connect(delete_b, signal=signals.pre_delete, sender=B)

IRC Ad Nauseam (48:38)

Django IRC FAQ

Backwards Incompatible Changes Information

“I setup my static media according the documentation. The admin is showing up properly but none of my own stylesheets or images are being served.”

You likely have the ADMIN_MEDIA_PREFIX set to the same thing as your MEDIA_URL setting.

Thank You! (51:15)

Comments - 5 people have already said something. Join the discussion.

  • sean said

    one amazing week for Django

  • Adam said

    Good show guys

  • Paul said

    Good show. Just to clear up a common minor misconception that I've heard on the show a couple times -- stock Python 2.5 does not actually include the SQLite library, just the bindings (the `sqlite3` module). SQLite itself is not there in the Python source tree.

    The Windows Python installer does include it, and it's already there on OS X (for Core Data), and lots of commonly installed packages on Linux include it as a dependency... but it *is* possible for someone to have Python 2.5 installed and *not* have SQLite. I mention this because this can be terribly confusing for that person if they try to use SQLite from Python, thinking it's supposed to be there already!

  • Empty said

    Paul: Thanks for the clarification. I've actually wondered about this. Being on OS X has kind of shielded me from it all.

  • Daniel said

    First, thank you very much for the mention of Django Dash on the podcast! It is much appreciated.

    You've also brought out a deficiency in the rules that I will address on the official site concerning Third Party Libraries. You're allowed to use as many third party apps as you like so long as EACH does not compromise more than 10% of the final, complete web application. So you could use django-registration, django-profiles, django-comment-utils and django-openid together in addition to your code, as long as none of them make up more than 10% of the overall app. The idea is that reuse is good but you ought to be making something rather than just using a single pre-built Django app.