Living on the Edge

This Week in Django 22 - 2008-05-11

Posted on May 13, 2008

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

This week we have discussion about a XSS vulnerability, Some cool projects and blog posts 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 (24.3 MB, 40:00, AAC)

MP3 Edition (27.5 MB, 40:00, MP3)

OGG Edition (21.7 MB, 40:00, 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 (1:26)

Community Catchup (7:56)

Tip of the Week (28:15)

How can I break apart my models.py file into individual files?

IRC Ad Nauseam (32:23)

Django IRC FAQ

Backwards Incompatible Changes Information

My login form Isn’t working the first attempt I login at. The second attempt, it works though. How is this possible?

You probably neglected to send a test cookie on the first view of whatever page your login form is at.

Thank You! (37:34)

More information on Brian Rosner: http://oebfare.com/ and http://twitter.com/brosner/.

42 Topics Interview

Posted on May 06, 2008

This past week I had the pleasure of being interviewed by Shabda Raaj at the 42 Topics Blog. It was a really enjoyable interview and he asked some very good questions (a few that stumped me). It’s not often that I get to be on the “other side of the mic,” so it was kind of a special treat for me. We did the interview through an chat client, so although it worked well at times it made it difficult to get thoughts to flow together very well. I wish Shabda great success with the blog and the 42 Topics website and I’m honored that he took the time for the interview.

This Week in Django 21 - 2008-05-04

Posted on May 06, 2008

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

This week we have a couple of special guests. First, Eric Florenzano joins us for most of the show, and provides special insight into a few conversation items. Secondly we privileged to have Francis Cleary on the program to discuss a couple Tip of the Week items. We also cover all the regular stuff plus stream the program live on ustream.

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

Downloads

AAC Enhanced Podcast (33.2 MB, 1:01:14, AAC)

MP3 Edition (42.1 MB, 1:01:14, MP3)

OGG Edition (31.9 MB, 1:01:14, 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 (2:50)

Branching & Merging (8:53)

Community Catchup (19:38)

  • Django l10n – Marc Garcia, who was on last week’s show provides a followup post that does a great job of pulling together the information we discussed as well as stuff we did not get time to cover.

Tip of the Week (36:16)

Francis Cleary is on the show with us this week to present his tip that he entered in the Win Cool Stuff Contest and was our grand prize winner.

Multiple view prefixes

Rather then have complex and long urls like so


urlpatterns += patterns('',
   (r'^$', 'mySite.Project.views.mainpage' ),
   (r'^custom/view/$', 'mySite.Project.views.'view_function'),
   (r'^lookup/tag/(?P<tag>\w+)/$', 'mySite.Project.views.tag_list'),
   (r'^users/$' , 'django.views.generic.list_detail.object_list', user_dict),
   (r'^recent/$','django.views.generic.list_detail.object_list', all_dict),
   (r^text/$', 'django.views.generic.date_based.object_detail', object_dict),
)

Take advantage of the first argument to the patterns() function to specify a prefix to apply to each view function. just make sure you have the += not just =.


urlpatterns += patterns('mySite.Project.views',
   (r'^$', 'mainpage'),
   (r'^custom/view/$', 'view_function'),
   (r'^lookup/tag/(?P<tag>\w+)/$', 'tag_list'),
)

urlpatterns += patterns('django.views.generic',
   (r'^users/$' , 'list_detail.object_list', user_dict),
   (r'^recent/$', 'list_detail.object_list', all_dict),
   (r'^(?P<year>\d{4})/$', 'date_based.archive_year', object_dict),
)

Advanced Generic Views

If you don’t want your urls.py filling up with dictionary or would like to do more complicated filtering or extra work to a list. Define view functions that return your generic view and dictionary.

In this example from the Django Book. We will use a generic view to display an author but we want to update the last_accessed data.


urls.py

from mysite.books.views import author_detail

urlpatterns = patterns('',
   #...
   (r'^authors/(?P<author_id>d+)/$', author_detail),
)

views.py

import datetime
from mysite.books.models import Author
from django.views.generic import list_detail
from django.shortcuts import get_object_or_404

def author_detail(request, author_id):
   # Look up the Author (and raise a 404 if she's not found)
   author = get_object_or_404(Author, pk=author_id)

   # Record the last accessed date
   author.last_accessed = datetime.datetime.now()
   author.save()

   # Show the detail page
   return list_detail.object_detail(
       request,
       queryset = Author.objects.all(),
       object_id = author_id,
   )

Rather then calling the generic view from the urls.py you can once again see how uncoupled things are in django and just return the generic view from your own wrapped view.

  • Are you generic? – Great earlier post by Wilson Miner on using Generic Views for non-programmers.

IRC Ad Nauseam (45:33)

Django IRC FAQ

Backwards Incompatible Changes Information

  • We have discussed the changes to the Paginator that occured during the PyCon 2008 sprints, but we are still seeing people tripping up over it. Paginator originally worked only on QuerySets, but has now been abstracted out. Paginiator is now generalized enough to work on lists. This is the reason for QuerySetPaginator. It special cases certain things to prevent performing the wrong operation on the QuerySet.

>>> from cameras.models import CameraImage
>>> CameraImage.objects.all().count()
248788L
>>> from django.core.paginator import Paginator 
>>> paginator = Paginator( CameraImage.objects.all(), 48, True)
>>> import time;start=time.time(); page = paginator.page(50); print time.time()-start
17.4773068428

Some questions about general IRC

We get lots of questions about IRC in general, so maybe a few little tidbits here and there:

Why don’t you use manners? When I say Thank You, you don’t respond.

Okay here’s the deal, there’s no reason to increase the noise level on IRC. That means although we appreciate the thanks, often we will not acknowledge it. So don’t take it personally.

I asked a question and no one responded. Why is that?

People will answer if they know. You can re-ask but please wait a bit. Don’t use the #django-dev channel, that’s the wrong thing to do.

It might be good to think about how you can rephrase the question.

Use the Django-Users Mailing list. It’s another avenue available.

Can anyone help with a NewForms-Admin Question?

Don’t ask to ask. Just ask straight away. It depends often on the area of the question. So it’s best to just ask your question.

Will “blank” work?

Try it. Often the best thing to do is try it. That’s what anyone will end up doing.

Couple other tips, read the FAQ, Backwards Incompatible Changes, and the Freenode FAQ.

Thank You! (58:20)

This Week in Django 20 - 2008-04-27

Posted on April 28, 2008

This Week in Django is a weekly podcast about all things Django. This week’s show is a huge show with lots of great features.

This is the second part of a two part series on Internationalisation. This week we are privileged to talk to Marc Garcia, Django’s Catalan translator, among many other things. Marc discusses the localisation side of things, helping us understand what’s required to get your web site localised.

Additionally, we also talk about QuerySet Refactor branch having been merged to trunk.

Finally, we have a special full length song by Django’s own Adrian Holovaty. It’s amazingly beautiful, so I encourage you to stay tuned for it.

Note: We apologize for the occasional audio drops during the interview with Marc Garcia. That’s just how these things go when calling across the globe.

Also, We’ve modified the compression scheme a bit, so let us know if the sound is better or worse.

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

Downloads

AAC Enhanced Podcast (57.5 MB, 1:12:02, AAC)

MP3 Edition (49.5 MB, 1:12:02, MP3)

OGG Edition (38.5 MB, 1:12:02, 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:55)

QuerySet-Refactor Branch Merged!

As Malcolm Tredinnick mentioned on last week’s show, the Queryset-Refactor branch has been merged into trunk. Changeset 7477 makes that happen.

Over the past several months we have giving you a lot of information on the changes that contained in the Queryset Refactor modifications. We plan to get into those things more in next weeks show.

Adrian Holovaty Special Song

At the end of the program we will be presenting a special song by Adrian Holovaty. So stay tuned for that.

Special Feature – Localisation (5:21)

This week we are honored to be able to speak with Marc Garcia. Marc is the founder and CTO of Accopensys, a software development solutions company. Marc also maintains a blog called the The Best of Marc Garcia.

Marc has also been heavily involved in doing:

  • many translations on Catalan and Spanish languages,
  • main development of Spanish localflavor,
  • development of Transdb (http://code.google.com/p/transdb/) that allows Django field translations on database, and
  • development of some small multilanguage web sites using Django

On last week’s program Malcolm Tredinnick gave us some great information on internationalisation. This week we are going to get into localisation, which as I understand it is the process of translating a product into different languages or adapting a language for a specific country or region.

Translating Django

  • Let us start off with looking at translating Django itself. What is the process involved for localising Django internals?
  • What specific language elements cause you problems? Malcolm had touched on difficulty with pluralisation. Would you comment on that and possibly other areas that present special challenges?
  • What sort of resources are available to translators?
  • In the area of translating Django, are there specific changes that you feel should be made in order to make the whole process better and easier for translators?
  • Last week we discussed some problems with Django documentation and slang that is used, etc… causing problems for getting things translated. What perspective do you have about this?

Translating Websites

  • There’s two template tags, trans and blocktrans for translating strings in the template. What is the difference between the two and how would you decide to use one or the other?
  • What about translating database content? How is that achieved?
  • I recently ran across the django-rosetta project on google code. It is a very impressive admin screen for doing translation. Have you used this project? Are there any similar types of tools to assist translators?
    • Poedit – a cross-platform gettext catalogs (.po files) editor.
    • Msgfmt – a Unix utility that creates message object files from portable object files.

Miscellaneous

  • Anything else that we didn’t cover that you would like to mention?

Community Catchup (48:49)

Thank You! (1:05:50)

Special Song by Adrian Holovaty

Radiohead is holding a “contest” called Radiohead Remix, in which they’re inviting fans to remix the song called “Nude” from their latest album. They’ve released the raw tracks and are encouraging people to remix the tracks to create something different.

So Adrian sat down and did his own jazzy acoustic mix, and we asked him if we could play it for the show. His remix is called “Nude (jazzy acoustic),” and if you like it, please vote for it.

More Information

Keep track of Brian Rosner at his website

This Week in Django 19 - 2008-04-20

Posted on April 21, 2008

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

SPECIAL FEATURE – Internationalisation

This is the first part of a two part series on Internationalisation. This week we are privileged to talk to Malcolm Tredinnick, Django core developer. Malcolm educates us on what internationalisation is all about, how it is implemented in Django, and some of the areas that can be improved in the future.

Additionally, we also discuss a lot of changesets in the Queryset Refactor Branch, and a couple of blog posts from the Django community.

It is our longest show yet, but definitely worth your attention. This is a must listen podcast.

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

Downloads

AAC Enhanced Podcast (79.3 MB, 1:41:32, AAC)

MP3 Edition (69.8 MB, 1:41:32, MP3)

OGG Edition (56.8 MB, 1:41:32, 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

Special Feature – Internationalization (1:39)

Malcolm Tredinnick, Django core developer, joins us to discuss internationalisation. Malcolm has often played the role of expert on internationalization / localization issues, speaks several languages, and works closely with the Django translators.

To learn more about Malcolm Tredinnick, be sure to add his blog, Defying Classification, to your RSS feeds and listen to our interview with Malcolm on This Week in Django 13

  • What is the difference between internationalisation and localisation?
  • Python 3.0 will feature full unicode support. What does that mean for Django? Will there be any benefits?
  • I attended a discussion by Tim Bray, who I suppose is a recognized internationalisation expert, and by the end of the discussion I felt like the idea of creating truly internationlised applications is somewhat hopeless. What are your thoughts about this?
  • How does translation support appear to the end-user in something like Django? (how they set which language to use, what Django does, etc).
  • Justin Lilly, a Django user and rabid fan of the show, wanted to ask, “I’m curious how many different ways there are to declare gettext-like things.. ugettext, gettext, (as a commonly used alias).. any more I don’t know?” So what about it? What’s the differences?
  • What is the difference between unicode and utf-8? Is there a difference?
  • What sort of things do developers need to watch out for when writing code for an international audience?
  • What can we do to improve the support in third-party applications for Internationalisation?
    • People learn differently so maybe we need to explore as many ways as possible to educate people. We can use things like tutorials or screencasts.
    • James Bennett’s apps are internationalised.
  • Goal is to get Django to pass the Turkey test yet, but it’s a goal.
  • How do you handle sorting in Django?

Tracking Trunk (59:37)

  • Updated Markdown Filter to Support v1.7 (7423) – From the mailing list, “Additionally, the encoding argument has been removed from both markdown and Markdown. Markdown expects unicode (or ascii) input and it is the users responsibility to ensure that’s what is provided. Therefore, all output is in unicode. Only markdownFromFile accepts an encoding.”

Branching & Merging (1:01:57)

Community Catchup (1:24:12)

  • The limits of Django – Interesting post by Alberto García Hierro where he discusses the process he used to optimize queries. His final solution ended up being a C library. The post received tons of interest and he provided a followup, The limits of Django: the answers, where he addresses some of the questions he received.

Thank You! (1:38:43)

This Week in Django 18 - 2008-04-13

Posted on April 15, 2008

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 __at__ 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)

This Week in Django 17 - 2008-04-06

Posted on April 07, 2008

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

This week we talk about EuroPython 2008, some cool posts and projects from the community, the Tip of the Week, and a question from the IRC.

Plus, we are fortunate to have a special appearance by Mike Axiak to discuss streaming uploads and ticket 2070.

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

Downloads

AAC Enhanced Podcast (45.3 MB, 55:54, AAC)

MP3 Edition (38.4 MB, 55:54, MP3)

OGG Edition (30.5 MB, 55:54, 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:01)

  • EuroPython 2008 – To be held in Vilnius, Lithuania from Monday July 7th – Saturday July 12th. No Django sprint officially announced as of yet.

Tracking Trunk (3:55)

  • Quite a few interesting changes in the GIS branch.
  • Thank you to all the translators
  • We’re working on an i18N show

Community Catchup (7:37)

  • Refactoring the DocumentationJacob Kaplan-Moss posted to the Django-Developers discussion list that he is doing a ton of work to refactor the Django documentation structure, breaking it up based on stakeholders.
    • Sphinx – excellent Python documentation generator
  • Streaming Uploads DiscussionMike Axiak started a great discussion on some work he’s doing to handle streaming uploads. It’s been a very active discussion thread. I know that Mike is spending a ton of time working on this along with Ticket 2070 as he’s hanging out in IRC all hours of the day and night.
  • json_encode – a great JSON encoding module by Wolfram Kriesing which he states is improved and simplified. If you are doing AJAX work you should really check this out.
  • DjangoFriendly – is a community resource for finding the friendliest Django hosting environments. Designed and developed by Ryan Berg.
  • Django Djblets – The Review Board team abstracted a set of useful helpers. Included are Authentication improvements, Flexible datagrids, Decorators, Caching functions, and Unit testing utility classes.
    • Clarification, in the show I said decorators for doing tagging, what I meant was decorator for doing a template tag. See the docs.

Tip of the Week (42:21)

  • Last week’s Tip came from Alex Gaynor. Apologies for not mentioning it.

This week’s tip is for users of the newforms-admin branch. Even if you are not using newforms-admin, this might be something to make you look at newforms-admin or just keep in the back of your mind once it is merged into trunk.

It is very possible to define your own form for both the main form and any inlines. A FormSet class is used to make inlines work which is simply some abstraction to using more than one form around some data.



# your ModelForm (probably in forms.py)
class AdminPostForm(forms.ModelForm):

    class Meta:
        model = Post

    def clean_title(self):
        value = self.cleaned_data.get("title")
        # custom validation with value here
        return value

# your ModelAdmin (probably in admin.py)
class PostAdmin(admin.ModelAdmin):
    form = AdminPostForm
admin.site.register(Post, PostAdmin)

# your model
class Post(models.Model):
    title = models.CharField(max_length=100)
    body = models.TextField()

IRC Ad Nauseam (46:41)

Django IRC FAQ

Backwards Incompatible Changes Information

  • DjangoBot Updates
    • Fixed the Time Zone bug caused by configuring settings manually because it doesn’t set the environment correctly.
    • Corrected caching problems by using file-based caching.
    • Urlize filter is very slow as detected by hotshot
    • Eric Florenzano is working on an optimized version. For more information on Eric listen to our interview with him on This Week in Django 11.

I just created a post for my new blog but the post is not showing up for about an hour. I’m using a date-based generic view. Is there some kind of caching going on?

It is possible that you have not set your time zone information appropriately in your settings file.

Thank You! (54:30)

This Week in Django 16 - 2008-03-30

Posted on March 31, 2008

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

This week we talk about a few source commits, NewForms-Admin branch updates, a whole bunch of excellent blog posts from the community, the Tip of the Week, and a couple of questions from the IRC.

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

Downloads

AAC Enhanced Podcast (38.6 MB, 47:34, AAC)

MP3 Edition (32.7 MB, 47:34, MP3)

OGG Edition (26.2 MB, 47:34, 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

Intro

We discuss the new intro music, the fake Brian Rosner, and all the great supporters of the show that we met at PyCon.

Tracking Trunk (4:48)

Branching & Merging (11:13)

Community Catchup (16:23)

Tip of the Week (32:27)

get_object_or_404 can take a QuerySet.


get_object_or_404(Portfolio.objects.all().select_related(), slug=slug)

IRC Ad Nauseam (36:36)

Django IRC FAQ

Backwards Incompatible Changes Information

How do you copy a model instance object?

The easiest way is to set the primary key for the model to None. Then save the instance. This will create a new record in the database.


post = Post.objects.get(pk=1)
post.pk = None
post.save()

I’m trying to run tests on my application that is just template tags. It’s not working. What’s the problem?

The testing framework requires there to be a models.py in the application. Create this file and everything should work fine.

Thank You! (43:00)

This Week in Django 15 - 2008-03-23

Posted on March 24, 2008

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

This week we talk our experience of PyCon 2008, the Django Sprint, a whole host of changesets, and updates on the Queryset Refactor and NewForms-Admin branches.

Plus, new music from Django’s own Adrian Holovaty.

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

Downloads

AAC Enhanced Podcast (40.9 MB, 50:11, AAC)

MP3 Edition (34.5 MB, 50:11, MP3)

OGG Edition (28.0 MB, 50:11, 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

New intro/outro music graciously performed by Adrian Holovaty. Check out Adrian’s performance pieces on YouTube.

PyCon Thoughts (1:37)

We discuss our PyCon 2008 experience and the Django Sprint.

Tracking Trunk (6:37)

Branching and Merging (33:20)

Thank You! (47:07)

No TWiD This Week

Posted on March 18, 2008

Although we were planning to record an episode of This Week in Django on Sunday night while we were at PyCon 2008, we were so busy coding on projects, interacting with other developers, and focussing on BDD that we decided that it was just too much to take on. We apologize and are planning to record a post-PyCon show this weekend.

This Week in Django 14 - 2008-03-09

Posted on March 10, 2008

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

This week we talk to Doug Napoleone on of the many volunteers working hard to bring us PyCon 2008 in Chicago. Doug is Software Coordinator and Webmaster for PyCon 2008 and lead developer and maintainer for PyCon-Tech. Doug gives you all the information you need to be well prepared for PyCon this week. We also announce the winners of the Win Cool Stuff Contest and some information on This Week at Pycon.

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

Downloads

AAC Enhanced Podcast (46.4 MB, 59:37, AAC)

MP3 Edition (41.0 MB, 59:37, MP3)

OGG Edition (32.2 MB, 59:37, 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

Doug Napoleone on PyCon 2008 (2:27)

Doug is Software Coordinator and Webmaster for PyCon 2008 and lead developer and maintainer for PyCon-Tech.

Doug touches on the following subjects. Lots of great information in the show. If you’re going to PyCon you want to be sure to get the scoop.

1. What’s not new this year.

2. Whats new this year. (Program guide, longer lunches, more lightning talks, vendor booths)

3. Social events (Python Lab, Board games, bag stuffing, Galcon Tournament)

4. Record attendance (And the registration problems we had)

5. Beyond the talks: (Open Space, 5th track (hallway), evening parties, Sprints)

6. Future of PyCon: (what do we do now that we have attendance breaking the 1K mark)

7. Getting there and Getting Home.

8. A brief intro to PyCon-Tech and some of the great hidden gems in there.

Win Cool Stuff Contest (43:38)

We appreciate all the submissions to the Win Cool Stuff Contest. All valid submissions will be recognized on future episodes. Our winners will have the option of appearing on the show to discuss their winning submission.

Watch the winners drawn live

The winners are:

  • Django T-Shirt – Congratulations to Paul Kenjora for his submission “Adding Custom Actions To Django Admin Change Forms”.

Special thanks go to Apress and Eminent Consulting Group for donating the prizes.

This Week at PyCon (48:34)

For the This Week in Django podcast we will be doing the following:

  • PyCon Unwind – Nightly one hour podcasts on our experience of the day. Get three or more other attendees to join us. We will do our best to slap these up on the web every day. If you want to hang out or get in on the Unwind we’ll Pownce it when / where. Free beer—hang out and have fun. We’ll be in the Dorval Int’l from 7PM to 8:30PM.
  • Impromptu Chats – Chats with people in the hallways, or wherever, etc…
  • Interviews – We are working to coordinate some interviews but since everyone is very busy at PyCon this may or may not happen.

The main thing is we are going to keep thing flexible.

Thank You! (54:26)

  • Oebfare – Brian Rosner’s excellent blog.
  • django-sqlalchemy – project to integrate Django’s models into SQLAlchemy’s ORM.

Win Cool Stuff Contest Winners

Posted on March 10, 2008

We appreciate all the submissions to the Win Cool Stuff Contest. All valid submissions will be recognized on future episodes. Our winners will have the option of appearing on the show to discuss their winning submission.

In true Django fashion I created a Django application that was used to draw the winners. You can watch the screencast here:

Watch the winners drawn live

The winners are:

  • Django T-Shirt – Congratulations to Paul Kenjora for his submission “Adding Custom Actions To Django Admin Change Forms”.

Special thanks go to Apress and Eminent Consulting Group for donating the prizes.

This Week in Django 13 - 2008-03-02

Posted on March 03, 2008

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

This week we are privileged to have Malcolm Tredinnick, Django core developer, on the show to talk to us about working on Django, the Queryset Refactor branch, and some of his writing. We also discuss a few source commits, some cool projects from the community, and the Win Cool Stuff Contest.

You don’t want to miss this one!

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

Downloads

AAC Enhanced Podcast (55.2 MB, 01:09:07, AAC)

MP3 Edition (47.5 MB, 01:09:07, MP3)

OGG Edition (37.7 MB, 01:09:07, 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

Django Interview – Malcolm Tredinnick (0:34)

Tracking Trunk (39:53)

Community Catchup (54:33)

  • Win Cool Stuff Contest – Submit a Tip of the Week or an IRC Ad Nauseam item, including question and answer and we will enter your name into our drawing to win one of our two cool prizes. See the post for full details:

Thank You! (1:06:38)

Win Cool Stuff Contest

Posted on March 03, 2008

On This Week in Django this week (to be released shortly) we discussed the Win Cool Stuff Contest. I’m breaking this out here so that people who do not follow the podcast have an opportunity to know about the contest.

How It Works

Submit a Tip of the Week or an IRC Ad Nauseam item. If you’re unfamiliar with either of these then please listen to past episodes of This Week in Django. Submissions must contain the following:

  • Including question and answer, or in the case of Tip of the Week, the actual tip.
  • Include a paragraph or two and relevant code samples. Look at past Tip of the Week or IRC Ad Nauseam items for examples.
  • Must not be items already include on the Django FAQ, the Django IRC FAQ, or something we’ve included in past shows (yes, you’re helping us come up with new material).
  • Your submission constitutes permission for us to use the content in future podcasts. We will give you credit, so no worries.
  • You can enter multiple times, but each submission must be different.
  • All submissions must be received by 10:00:00 p.m. GMT Friday March 7, 2008 (5PM EST).
  • Remember to include your name and email address. If you would like us to mention it, also include your Blog and/or Django People URL.
  • Send all submissions to feedback __at__ thisweekindjango.com.

Prizes

All valid submissions are eligible to win. We will draw two winners. No substitutes (if you have the book or the shirt give it to your neighbor.) The following items have been generously donated to the show.

  • Django T-Shirt – a very cool t-shirt with the Django logo on it. Provided by Eminent Consulting Group.

Winners

We will announce the winners on this blog and on next week’s show. If you can work around our schedule you can discuss your item on the show. If not and you have the opportunity to prerecord your item, we will include it in the podcast. If you are a winner we will cover this with you further.

This Week in Django 12 - 2008-02-24

Posted on February 25, 2008

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

This week we discuss a few source commits, some great blog posts, the new django-dev IRC Channel and the IRC Channel Logger, the Tip of the Week, and a couple of items from the IRC channel.

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

Downloads

AAC Enhanced Podcast (38.5 MB, 46:03, AAC)

MP3 Edition (31.7 MB, 46:03, MP3)

OGG Edition (25.1 MB, 46:03, 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:01)

Tracking Trunk (1:46)

Community Catchup (8:25)

  • Python Magazine Looking for Writers – If you’re interested in getting your name in print, contact them. Additionally, the inaugural issue from October 2007 is available for free on their Web site. If you sign up for a free account, the download link will appear in list of issues available for download there.
    • PyMOTW – Python Module of the Week.

Tip of the Week (26:08)

Overriding ModelChoiceField Labels – A solution for modifying how the labels in a select box appear. Read Brian Rosner’s excellent post on the topic.

IRC Ad Nauseam (30:42)

Django IRC FAQ

Backwards Incompatible Changes Information

Django Bot

  • New Django IRC Channel Logger – The old one died, we promised you a new one. Enjoy! We’re doing it in true iterative fashion. If there is functionality you’d like to see let us know. Other channels being logged can be found here

I am creating a custom template tag, how do I get access to my template variables in my new custom template tag?

  • Django Documentation on passing template variables to the tag
  • All arguments to the tag are unpacked as string literals.
  • Resolve the string arguments to their context variable form (such as converting the string element back into a Post instance object) by using the template.Variable class.
  • In the Development version the Variable class is used instead of the resolve_variable function. Changeset 6399 made this change.

I just created a Custom Management Command Extension and it’s not showing up in the list when I type ./manage.py help. What’s the problem?

There is a bug in the Custom Management Commands where it will not find and register commands if the INSTALLED_APPS setting refers to project_name.app_name. So for the time being you need to refer to these apps that have custom management commands in them by just using app_name.

Thank You! (43:51)