Week in review: May 21
Here are the highlights of Django improvements this week:
- Changeset 2909: Made automatic model verbose_name calculating smarter, with regard to consecutive capital letters. For example, previously it converted something like "USAResident" to "u s a resident", but now it's "usa resident". Thanks, Alex Dedul.
- Changeset 2922: MySQL inspectdb now detects tinyint field properly.
- Changeset 2927: Made DJANGO_SETTINGS_MODULE optional. You can now call django.conf.settings.configure() to set settings manually if you don't have a settings module. This goes a long way in making it possible to use various bits of Django, such as the template system, without needing to set up a settings file. See the new documentation. Thanks, Malcolm Tredinnick, Luke Plant and Fredrik Lundh.
- Changesets 2928 and 2934: Added a postgresql_psycopg2 backend, for folks who'd like to use the new(ish) version of psycopg, 2.0. Thanks, germish@gmail.com.
- Changeset 2951: The update_object generic view no longer assumes the object's get_absolute_url() doesn't change. Thanks, marcink@elksoft.pl.
- Changeset 2952: Using a FilePathField no longer breaks the admin model documentation. Thanks, Adam Endicott.
- Changeset 2954: Improved the login_required() view decorator to save query-string parameters in passing the "next" page parameter.
- Changeset 2959: Added a very cool manager, CurrentSiteManager, which limits the objects to those found on the current site. Thanks, Ian Holsman. (Read the docs.)
Also, we continue to improve the documentation substantially. Special thanks to Malcolm Tredinnick for his relentless improvements. New for your perusal this week:
- Making custom template tags the easy way, via simple tag and inclusion tag function decorators.
- Finally, documentation on the sites framework!
- Providing initial SQL data.
- The lovely syncdb command.
- Overriding default model methods.
- The tutorials got some love, too.
In other Django news:
- A fantastic Django-powered site launched this week. Tabblo is a photo-sharing site that goes beyond the basics of "post photo to photostream, leave comments on photos, rinse, repeat." It's more focused on the idea of storytelling, making it easy to piece together collections of photos on the same page. (Example 1, Example 2.) Great stuff.
- We've been getting slammed with spam on the Django source-code repository and wiki. Today we upgraded Trac to a new version, with new spam-fighting capabilities, so here's hoping the LED peddlers will take their business elsewhere.
- Four Django-powered sites won in the Editor and Publisher EPpy awards -- TexasGigs, Lawrence.com, The Naples Daily News and washingtonpost.com's Congress votes database.
- Phil Powell has some nice first impressions of Django.
- Here's some early proof our acronyms are sticking.
- And a super-nice personal introduction from Giovanni Giorgi, a new Django fan from Italy.
Posted by Adrian Holovaty on May 22, 2006
Comments
canen May 22, 2006 at 9:04 a.m.
Just when you think it couldn't get better. Keep it up!
mamcx May 22, 2006 at 2:03 p.m.
Excellent...
However I think that with the excellent OR-mapper can be more cool if we can invoque a python file with the default data...
For example I'm doing this rigth now:
City(name='MedellĂn',State='ANT').save()
City(name='Envigado',State='ANT').save()
This way we can build a post-install rutine... However rigth now is not easy because I don't know how hook this procedure rigth after the syncdb command...
Daniel Lindsley May 22, 2006 at 5:02 p.m.
The weekly updates are fantastic. Please keep them coming!
Remco Wendt May 22, 2006 at 5:22 p.m.
Really loving the weekly updates! Really allows everyone to see the great improvements that are being made. Tnx!
Jonathan Buchanan May 23, 2006 at 4:26 a.m.
mamcx: you can insert initial data by providing the appropriate SQL queries
David Elias May 23, 2006 at 9:13 a.m.
macmcx: i think is possible with the dispacther framework, not sure.
From syncdb function of django.core.management module
# Send the post_syncdb signal, so individual apps can do whatever they need
# to do at this point.
for app in models.get_apps():
dispatcher.send(signal=signals.post_syncdb, sender=app, app=app, created_models=created_models)
this is executed first the search for .sql files...
Eugene May 31, 2006 at 2:49 a.m.
Thank you for the information!
Your "Week in Review" allow us to keep in touch with development of Django - please go ahead with your work!
Thank you!
mamcx June 2, 2006 at 10:42 a.m.
David:
That sound good... in fact I do a similar thing for deactivate the create user in the install for do testing...
But, in where I put this code?
Must be in a place in special ? in the main urls?
Comments are closed
To prevent spam, comments are no longer allowed after sixty days.


CoolGoose May 22, 2006 at 7:14 a.m.
Keep up the good work.
Alex Bucur.