"If you’ve been following along, you are probably already aware the Pinax team has decided to make some radical changes to their directory structure based on input from users" - Clint Ecker
via Bookmarklet
"django-frontendadmin is a set of templatetags to allow an easy and unobstrusive way to edit model-data in the frontend of your page." - Clint Ecker
via Bookmarklet
"There are quite a few great little tricks and tips one could use on their Django projects that would speed up development and save many headaches in the long run. From basic to obscure, these tips can help any skill-level of programmer become more adept with Django and all it's glory." - Clint Ecker
via Bookmarklet
Hey they include django-chunks... ;) - Clint Ecker
"Basically all you need to do is enable the middleware and all the Mako lookup stuff is handled for you and you can use new shortcut functions that mimic django’s regular render_to_string and render_to_response functions." - Clint Ecker
via Bookmarklet
"I found out about Fabric via Armin Ronacher's article Deploying Python Web Applications. Fabric is a Capistrano inspired deployment tool for the Python community. It is very simple to use. There are 4 main commands: local is almost like os.system because it runs a command on the local machine, run and sudo run a command on a remote machine as either a normal user or as root, and put transfers a file to a remote machine." - Clint Ecker
via Bookmarklet
"The example limits the view to one request every 3 seconds per ip address. The limit is shared by every view that uses the string "global" (first parameter), which is an arbitrary string. Request succeed until the accumulated requested time in seconds (second parameter) exceeds the limit (third parameter)." - Clint Ecker
via Bookmarklet
"Over the past few weeks I've been busy coding, planning, and recording a series of screencasts which walk through the complete process of building a web application, from the ground up, with Django. First I actually needed to code the site, deploy the site, and release the source code for the site. Then, I had to go back and decide what in that whole process was worth talking about. Finally, I had to re-code the site, but this time in front of the camera. It's been a long process so far and I'm not finished yet, but tonight is the night that I am finally able to unveil the first two episodes." - Clint Ecker
via Bookmarklet
"I went ahead today and figured that I would try out Pinax, seeing as it's been getting a lot of good press in the Django community lately. The talk from James Tauber at Djangocon was really good, and I certainly recommend checking it out." - Clint Ecker
via Bookmarklet
"I worked on the Django Debug Toolbar for a few days and got the proof of concept working. At initial commit I had a panel to display the Django version and a panel to display SQL queries. The next day I added a timing panel. After that I didn't do much for about a week until I headed to DjangoCon. On the flight I continued to work on the project, converting the project to use file based templates that could be easily overridden for customization and adding a panel to display HTTP headers." - Clint Ecker
via Bookmarklet
"After the launch of Cloud27 and Djangocon, there has been much more activity surrounding Pinax and a few questions about deployment. While the documentation is being worked on, I figured I would write up some general principals on the deployment of your project." - Clint Ecker
via Bookmarklet
"django-rcsfield is a field (like models.TextField) for the Django web framework which - under the hood - versionizes it's content. The 'rcs' in the name is short for revision control system. The current implementation works with Bazaar and SVN. An abstration layer makes implementing additional backends easy." - Clint Ecker
via Bookmarklet
Beyond his work on TestMaker, Eric recently sat down and recorded four "how-to" debug your Django project screencasts available on his blog. He also got his hands dirty detailing how he uses the various featured of the django-command-extentions project which offers more than a handful of productivity and helpful features for your Django project. And he's not done yet, as you'll find out during this callcast. - Eric Florenzano
via Bookmarklet
"Today I wrote a little Django to Jinja2 template converter. While it can translate most of the builtin template tags into Jinja constructs it doesn’t fully automate the process because you have to extend it for your own custom tags and it doesn’t adapt your templates to the changed semantics.
And these differences in semantics (and the underlying architecture) are something I want to discuss a bit here. Whenever someone mentions Jinja in the Django IRC channel you can be pretty sure that someone else will write something like “… if you don’t have your logic under control” into the channel and position Jinja in the corner where failed concepts lurk around. Of course Jinja leaves more room for abuse than Django does… But this time this isn’t actually what I want to talk about here :)" - Clint Ecker
via Bookmarklet
"Django _still_ doesn’t have any Javascript framework integration, so in today’s Web 2.0 world it’s not going to kill anything." - Clint Ecker
via Bookmarklet
Javascript framework integration is stupid in my opinion, and I recall the Django dev's making it very clear they do not want to go that route. Learn JS and don't really on it doing it all for you. You're better off that way anyways (Clint I'm not directing this at you, just the comments in the article!) - Bartek Gniado
Django doesn't have a Javascript framework for a very important reason; it's a web framework. Why should your web framework dictate your Javascript framework? I never understood this argument. It's not like it's hard to use whatever Javascript framework you want (I use jQuery) with Django... - Benjamin Golub
Someone brought it up at the conference where everyone had a big laugh at the idea. I honestly don't understand why anyone would want Javascript integrated with their web framework. - Clint Ecker
"One of the topics that popped up repeatedly at DjangoCon last weekend was how bad purely normalised table structures are, and how denormalisation is good for many things, including making your database cry less.
To that end, during the gaps in PyConUK this weekend, I decided to see how easy it would be to write a new Django field that will automatically denormalise a field in a related table across to another model." - Clint Ecker
via Bookmarklet
I do a lot of denormalization in a few of my apps. Kind of a pain at the moment. - Clint Ecker
"From my talk this morning at PyCon UK 2008: a very simple multiple user blog model with an admin interface configured to only allow people to edit or delete entries that they have created themselves, unless they are a super user." - Clint Ecker
via Bookmarklet
"An easy way of making inlines orderable using drag-and-drop, using jQuery UI's sortable() plugin.
First, add an "order" field to the inline models which is an IntegerField, and set that model to use 'order' as its default order_by.
Then hook in the JavaScript. This should make them drag-and-drop sortable using jQuery UI, and also hide the divs containing those order fields once the page has loaded. This technique is unobtrusive: if JavaScript is disabled, the order fields will be visible and the user will be able to manually set the order by entering numbers themselves." - Clint Ecker
via Bookmarklet
"Pinax was a project conceived by James Tauber not to reinvent the wheel but to understand wheels better. That's how he puts it in his talk on the subject and what's become of what that reinvention was originally called Hotclub and is now Pinax. The project now provides glue and support for a vast number of what Django developers call "applications" and that allows a single developer to deploy a complete socially-focused web application that they control at every level." - Clint Ecker
via Bookmarklet
"The first panel of the day was on the technical design of Django and consisted of five core contributors to the Django project. Questions were posed by Michael Trier on a number of subjects including design decisions made throughout the life of the project and ideas for the future." - Clint Ecker
via Bookmarklet
"Zope 2 was a Python-based web development framework that built all its components in-house and has been superseded by Zope 3 and taken in a different direction. TurboGears is a newer Python-based web development framework that seeks out best-in-breed projects rather than roll their own. Mark Ramm is a core developer on the TurboGears project and is bothered by the fact that the Django community seems to be heading down the Zope 2 path under the auspices of the "batteries included" philosophy." - Clint Ecker
via Bookmarklet
"The final sessions of DjangoCon was a joint talk between the audience and the two co-founders of Django, Adrian Holovaty and Jacob Kaplan-Moss. The format varied between ticking off lists of itches that the two felt they should scratch and interactive contributions from the audience." - Clint Ecker
via Bookmarklet
"This package represents an experimental approach to improving the way Django outputs form widgets. At the moment, widgets created using django.forms are outputted as XHTML (with self closing /> tags) even if the rest of your site uses HTML. This package solves this problem by introducing two new template tags: {% doctype %} and {% field %}." - Clint Ecker
via Bookmarklet
"With the release of Django 1.0, we’re pleased to announce the release of a completely updated version of our highly popular Django Cheat Sheet which is crammed with a whole host of useful Django information." - Clint Ecker
via Bookmarklet
"The recent release of Django 1.0 included a full rewrite of the comments framework. Comments have been available in Django for a while but were never properly documented until now.
This article will show you how to adapt and extend the comments framework so that it fits the needs of your application." - Thomas Brox Røst
via Bookmarklet
That totally depends on if you need the features that are rolled in to trunk. We'll be discussing this at DjangoCon, but there's a chance trunk may become less stable than it has been in the past now that there's a genuine 1.0 release out there that people can stick with. I'm also hopeful that we will move to Ubuntu-style date based releases, in which case you should only have to wait a few months for a stable release that includes a new feature that you really want. - Simon Willison