I Use This!
Very High Activity

News

Analyzed about 20 hours ago. based on code collected 1 day ago.
Posted almost 17 years ago
This is the Django Status Report where we recap important happenings in the Django-verse and cool Django-related projects, presentations, publicity, code, and groups. Let's get on with the show: Perhaps the biggest news this week was the ... [More] launch of a new social network in the vein of Twitter. Pownce bills itself as a “way to send stuff to your friends.” Less succinctly, it is a social messaging Web application that lets you send notes, files, links, and events to your friends. There are a lot more features and tidbits, but that’s the basic gist. The site runs on Apache/mod_python and, of course, Django and Python. The principal developer of Pownce is Leah Culver, who has a post on her blog about the site. Currently the site is in an invite-only alpha phase, but they hope to open it up to the public in the near future. I've been using the service for the past few days, and while it's definitely in beta-phase and going through growing pains, the potential there is great. I think that the team behind this site can really grow it into a fun and useful site. James Bennett has posted another super-useful set of libraries that stack on top of Django’s built-in comments application: “The big feature for this app is a generic, unobtrusive, extensible system for comment moderation which includes the ability to turn on any or all of the following options, on a per-model basis: Akismet spam filtering, auto-closing comments a certain number of days after an object’s publication, auto-moderating comments a certain number of days after an object’s publication, ...” There are actually a bunch more features built-in, so you’d be remiss if you didn’t go check out the page. James also informs us that also included with his comment_utils library are a set of “moderation-oriented template tags” and a “custom manager which can figure out the ‘most-commented’ objects of any model it’s used on.” Be sure to thank James for creating such a useful set of tools. GeoDjango, the GIS-enabled branch of Django, will be featured in a presentation by Justin Bronn and Travis Pinney at FOSS4G2007 —Free and Open Source Software For Geospatial 2007—taking place in Victoria, Canada. The conference takes place between the 24th and 27th of September, 2007. Django is going to have a big presence at the O’Reilly OSCON this month. OSCON takes place in Portland, OR from July 23rd to the 27th. Announced on the Django wiki by Paul Bissex is that there will be a Django Master Class tutorial at the conference presented by Jacob Kaplan-Moss, Jeremy Dunck, and Simon Willison. Be sure to add your name to the Django OSCON page linked above if you’ll be attending the conference. I ran across an interesting middleware, SSL Middleware, this past week that allows you to specify in your urls.py file which paths in your application should be secured by SSL. If a user attempts to access one of these URLs through standard HTTP port 80, the middleware will intercept this access and redirect the client to the appropriate HTTPS protocol over port 443 and hopefully initiate a secure session. Users have reported that this doesn’t function 100% correctly on WebFaction’s setup and have produced a slightly modified version that operates properly there: link. Finally, a new group has formed to foster growth in Django-related entrepreneurial ventures. The group describes itself as follows: “Django Entrepreneurs is for people using the Django web framework to launch a startup/online business; our activities will include discussion and sharing resources (technical and business) to further one another’s success. If you’d like to join this group, please send an introductory message to the moderators – our aim is to have a small, serious community of programmer-entrepreneurs who are supportive of one another.” The Google groups page is here: Django-Entrepreneurs [Less]
Posted almost 17 years ago
Hello everyone, and welcome back to our regularly-scheduled Django Status Reports. In the past, members of the development team took time out of their week to post these tidbits and as their schedules have become more hectic with Django itself ... [More] , their day jobs, a book, and side projects, they've been unable to contribute as much as they'd like. Many people, myself included, felt that these posts added a lot of value to the Django community, so I offered up my services and here we are! That's enough rambling—I'll get on with our updates for roughly the past 90 days or so: Django-fr launched this past week. The site’s creator, David Larlet, posted the announcement to django-users: “The aim of this site is to provide translations of the documentation, useful links and of course to create a local community!” The site is still evolving as more users are becoming aware of it and contributing translations that will go through an approval process. The Django-fr group also coordinates their efforts on their Django-fr mailing list and on #django-fr on irc.freenode.net. The announcement of a Web presence for the French Django community has spurred the creation of another such entity for Spanish speaking Django users at Django En Español. That community is still in its very early stages and will be coordinating their community on the django-es mailing list as well as on #django-es on irc.freenode.net. Ville Säävuori has dug into Capistrano and created a script for remotely deploying your Django applications. If you’ve only heard of Capistrano in the context of a method to deploy your Rails applications, you might surprised to find out that it’s a much more versitile tool. Ville’s script will log into a remote server, run svn update, backup and install new database information if you’ve made changes to your models, moves your settings.py file in place, and then reloads Apache. The best part about using Capistrano for these types of tasks is that you can roll back your deployment at any time if anything went wrong, something that’s absolutely necessary when deploying new changes to a production server. Adrian Holovaty mentioned the creation of a new unicode branch of Django back in the April 8, 2006 Weekly Update. About a month ago, Malcom Tredinnick announced that the branch was more-or-less feature complete and needed testers. The process of squashing bugs is still ongoing and it looks like the branch is scheduled for merge a couple of weeks after the Oracle branch hits the trunk. Jump on it if you haven’t already and kick the tires if you’re interested in better unicode support in Django. In related news, the Oracle branch mentioned above was merged into trunk on June 23, 2006. Oracle support has been on the table almost as long as Django has been a public, open-source project. Indeed, a patch for rudimentary Oracle support by Jason Huggins was one of the first 100 tickets added to Django’s Trac instance nearly two years ago. With the introduction of Magic-Removal, this functionality was broken and subsequently fixed in a new patch. Despite these efforts, bugs lingered and functionality was missing. The Colorado Front Range Pythoneers organized the Boulder Sprint in early November 2006 to push Django’s Oracle support over the edge into a fully functional part of the framework. Out of this sprint came the boulder-oracle-sprint branch which greatly improved Oracle support. Since that sprint, a number of bug fixes have landed concerning tablespaces, return types, and other sundry bits. All of this has culminated with the merge of the boulder-oracle-sprint branch into trunk this past weekend and its inevitable inclusion in the 1.0 milestone release. Congratulations are in order for every person and group mentioned above, especially the Colorado Front Range Pythoneers for jump starting the new branch and seeing it through to completion. Good work everyone! In the past month, an individual has added a pretty neat set of tools for integrating your Django application with Amazon’s Simple Storage Service, or S3. Amazon’s S3 is, at its core, a dirt-cheap, highly available, and easy-to-hook-into networked file storage system. REST and SOAP are provided for adding files, while HTTP (default) and BitTorrent are supported as download protocols. The AmazonSimpleStorageService module for Django is implemented as a new type of FileField, S3FileField. The author has implemented the field in such a way that it presents itself to the user in your application or in the admin interface as a standard file upload field. Additionally, the author comments that the code hasn’t been tested extensively, so you should exercise caution (and contribute bugfixes!) before using it in a production environment. Add a new bookmark to the Django metasphere: DjangoSites was launched in the past week or so with the goal of providing an index of Django-powered sites with a touch of “Web 2.0.” At the time of writing, the site is currently tracking 114 websites which can be voted upon, Digg style. You can view the sites by a number of parameters, including “Latest,” “Highest Rated,” and “Most Commented.” Towards the end of last month, James Bennett released a bit of code he’d initially developed for his own blog. django-contact-form was abstracted out of his implementation and has been made available for everyone to use. James describes the project as thus: A base ContactForm class (built with newforms) which handles the simplest case of collecting a name, e-mail address and message, and sending them to your site staff, various indirections and useful hooks in ContactForm to make it easy to add new functionality by subclassing it and overriding only the bits you need to change, an example subclass which uses Akismet to perform a a spam check on the form, and a view which can handle the mechanics of displaying, validating and sending e-mail from ContactForm or a subclass, and which accepts various parameters to control its behavior. James also maintains other useful applications for Django including a user-registration app and a set of template_utils. Siddharta Govindaraj, of Silver Stripe Software has made a post about his process of deploying their Django product, Silver Catalyst, on the desktop, specifically Windows and Linux systems. Siddharta uses a combination of the sqlite support in Django, cx_freeze to generate the executable file, and ToofPy for a standalone web server. It’s highly likely that this approach could also produce an executable for OS X desktops by replacing the cx_freeze step with py2app. Another option for OS X systems is the nascent DjangoKit project [2] which provides its own WebKit view. Marty Alchin has created a middleware for Django that provides signed cookies. Marty describes the project’s functions: “Signs outgoing cookies, validates incoming cookies, removes the signature from incoming cookies (so your views get the cookie as it was originally set), invalid cookies are silently stripped from the request, as if they had never existed, utilities to manually generate signed cookie values, for greater control, relies on existing data (such as settings.SECRET_KEY), so required additions to your project are minimal” Beyond the major news above, activity in the trunk this week was low. The changeset round up for this status report includes: [5516] — A patch committed by Malcolm Tredinnick that speeds up reverse URL matching by caching their results based on a patch by [email protected]. A minor note, this change is potentially backward incompatible, but shouldn’t cause any major issues. [5478] — The Django-gis branch, GeoDjango, received several GDAL related improvements. [5502] — Stefane Femgier submitted a patch that correctly sets the mime-type for admin media content, and was integrated into the trunk this week. Django is in the middle of its Google Summer of Code efforts and there have been a number of announcements of progress on each of the projects currently under way: Andreas Stuhlmüller is hard at work implementing a REST interface for your Django applications and has posted three updates on his progress over the past few weeks. Update 2, Update 3, and Update 4. Andreas’ project, along with documentation, timetable, and code can be found at its Google Code page: django-rest-interface. Thejaswi Puthraya is tackling the problem of adding constraints to the data in your models such as range- and value-based constraints. Thejaswi has provided documentation for the features he hopes to implement and just this past week has committed his first bits of code as well as a number of screencasts that demonstrate how to install and begin using his project. Paul Collier is working on the problem of Object Level Caching, a project whose aim is to take all of the common caching idioms we're aware of and condense them into intelligent QuerySet methods. Paul's contributions and more documentation on this project can be found on its Google code page: django-object-level-caching Finally, Jannis Leidel is working to streamline and simplify the process of packaging and distributing your Django applications. Jannis made his first weekly update this past week. That's it for now, and please be aware that the next one of these should be significantly shorter. If you have any interesting Django-related news, projects, or announcements that you'd like to see here, please send a short note to [email protected]. [Less]
Posted almost 17 years ago
David Cramer has posted some statistics about how Django has scaled on his site, Curse Gaming. In a blog entry titled Rapid development serving 500,000 pages/hour, he writes: How do you keep things quick for development and streamlined for ... [More] high-load? Using a Django and LAMP setup that’s how. We had a pretty busy couple of days over at Curse (what powers curse) and managed to keep a consistent 500,000 page views per hour with our web servers only be minimally loaded on CPU and memory. For 6 months we had been struggling with the question “what happens next patch day”. That day was today. We managed to break 600,000 pages an hour last december, but immediately crashed afterwards due to the servers not being able to handle the load. This is partly due to optimizations on our end to Django’s ORM but also because of some major optimizations contributed by the community (thanks!). So when you are thinking about that new website or application you’re about to build, think Python, and think Django. It has empowered us to deploy large-scale web applications in as little as a weekend, which would take a week or longer using Python or PHP by themselves. A follow-up entry talks about the server arrangement: mod_python, with Squid and memcached. [Less]
Posted almost 17 years ago
Paul Bissex (of dpaste, the IRC channel and other various Django community efforts) is organizing Django.June, an informal "unconference" in Northampton, Massachusetts, USA, on June 16. Northampton is the site for Django In June, an annual music ... [More] festival for devotees of Django (Reinhardt, the musician, not the Web framework). Paul figured it'd be a good excuse as any to hold a Django framework event. In his words: This is an informal event in the "unconference" vein. I'm hoping to have several short talks and maybe even some collaborative coding. I'm perfectly happy to have the content be driven by the desires of the attendees. The evening will be free for great music, as some world-class jazz musicians will be in town for the Django In June festival. If you're on the U.S. east coast, you should join us! See more information on the Django.June wiki page, and add your name to the list of attendees. [Less]
Posted about 17 years ago
Jacob was recently interviewed by pythonthreads.com. Check it out.
Posted about 17 years ago
For a long time, we've recommended that people use the Django development version instead of the latest Django release, as we try hard to keep the development version stable. We're loosening that policy, temporarily, for the immediate future, in ... [More] order to make a number of backwards-incompatible changes to the development version. Examples of some of these changes are: Removing the auto_now and auto_now_add options in Django models. Finishing and merging the "newforms-admin" branch, which changes the way admin options are specified (and gives you a lot more flexibility). Removing the LazyDate shortcut. Renaming django.contrib.localflavor.usa to django.contrib.localflavor.us. The biggest change is probably the newforms-admin functionality. Therefore, if you use the Django development version in production settings (as many people, including I, do), take a look at the "Backwards-incompatible changes" wiki page before updating your Django code to make sure your code won't break. If you use a specific Django release, such as 0.96, you have nothing to worry about. You simply may have to make some changes to your code when you upgrade to the next Django release. This is, we hope, the final run of backwards-incompatible changes before version 1.0, at which point we'll be committed to compatibility. If you'd like to discuss these changes, feel free to post a message to the django-developers mailing list. [Less]
Posted about 17 years ago
Django's version 0.96 just landed, but we're already hard at work on the next version. Here's a rundown of some of the bigger improvements we've made to the Django development version in the past week: As of changeset 4901, we've added the ... [More] ability to name URL patterns. This is a great help with reverse URL matching. See the new docs. Have you seen django.contrib.localflavor yet? An example of our "batteries included" philosophy, it's a collection of functions and data structures that are useful for locale-specific applications. The biggest part of localflavor at this point are django.newforms-style Field objects that validate an assortment of country-specific data. For example, we've got validators for U.S. Social Security numbers, phone numbers, states and ZIP codes; post codes in Australia, Brazil, Finland, France, Germany, Italy, Japan, Norway, and the U.K; and government identity numbers for a number of countries. Plus, we've got more coming. If you can think of (and, better yet, implement) some locale-specific logic that would be useful to a number of people and localflavor doesn't yet handle, please contribute! Work progresses on the newforms-admin branch, which aims to integrate Django's admin site with the newforms library. Along the way, we're taking the opportunity to add extra customization hooks to the admin site. Much of the implementation is done already, and it's now possible, using the branch, to run multiple instances of the Django admin site, with different configuration, in the same Django project. This is exciting stuff; see the status section of the wiki page for some examples of what's changed. We created a unicode branch this week. Malcolm Tredinnick will be taking the lead on making all of Django's internals fully Unicode-aware, once and for all. See the branch wiki page for more info. [Less]
Posted about 17 years ago
Next week's Web 2.0 Expo in San Francisco features two Django-related presentations. First, there's the session All You Need To Know About Django: You've heard about Django, the relatively young Python web framework. But why are people talking ... [More] about it? Hear lead developer/co-creator Adrian Holovaty explain how the framework works, how it saves you time, and why people fall in love with it. Expect both a high-level overview and low-level code samples, along with a look into Django's future. Then, it'll be a panel, Comparing Web Application Frameworks: Creators and architects of a select group of today's most modern, successful web development frameworks will come together in this panel to answer questions from developers. See you in San Francisco. No word yet whether we'll put together a Django "Birds of a Feather" session, but if you'll be around, leave a comment here so we can coordinate. [Less]
Posted about 17 years ago
We're incredibly pleased to announce the release of Django 0.96! The primary goal for 0.96 was a cleanup and stabilization of the features introduced in 0.95. The release notes cover the few backwards-incompatible changes, but for most people the ... [More] upgrade process should be simple. One particular change affects users of MySQL on older servers: If you get an error about Django requiring a newer version of MySQLdb, you'll need to either upgrade MySQLdb to 1.2.1p2 or later, or switch your DATABASE_ENGINE setting to "mysql_old". You can read more about this change in the release notes. Though the main focus of 0.96 is stability and maturity, it also includes some juicy new features to help you write even better code. Of particular note: Django now ships with a comprehensive set of testing tools. You can write tests based on doctest or unittest, test your views with a simple test harness, and load initial data ("fixtures") automatically. If testing is indeed like flossing, think of these new tools as super-comfortable, deliciously flavored, top-of-the-line thread. Django 0.96 also ships with a brand new forms library, django.newforms. This is a replacement for django.forms, the old forms/manipulator/validation framework. Both APIs are available in 0.96, but over the next two releases we're going to switch completely to this awesome new system. Read the release notes for more details on these and other changes. We can't possible thank our amazing development community enough. This release contains the work of over 200 different people. To put this in perspective: when we released 0.95 we thanked "the dozens of Django contributors"; this time, it would be more appropriate to thank hundreds of contributors. In other words, this release wouldn't have happened without this amazing community. To everyone who's reported a bug, submitted a patch, participated on our mailing lists, hung out in our IRC channel: our most heartfelt thanks. As always, We try (but inevitably fail) to list everybody in the AUTHORS file. So, what are you waiting for? Go download 0.96, and let us know what you think! [Less]
Posted about 17 years ago
We've just rolled out Django 0.95.1, a new minor release of Django which includes fixes for several bugs discovered in the original 0.95 release; 0.95.1 includes: A patch for a small security vulnerability in the script Django's ... [More] internationalization system uses to compile translation files (changeset 4360 in the "0.95-bugfixes" branch). A fix for a bug in Django's authentication middleware which could cause apparent "caching" of a logged-in user (changeset 4361). A patch which disables debugging mode in the flup FastCGI package Django uses to launch its FastCGI server, which prevents tracebacks from bubbling up during production use (changeset 4363). It's recommended that anyone using the official 0.95 release upgrade to 0.95.1 to get these fixes, or apply the patches from the changesets linked above. [Less]