django-reversion - Google Code
http://code.google.com/p/django-reversion/
"Version control for Django models"
Reversion is an extension to the Django web framework that provides comprehensive version control facilities.
Revision control for Django models. Might be useful for those times when I forget/neglect to add to SVN.Infrastructure for Modern Web Sites « random($foo)
leonard lin's weblog. topical geek news.
list of backend and frontend requirementsIntro to Django - Building a To-Do List - NETTUTS
Djangoを始める時darwin's firepython at master - GitHub
Python logging console for Firebug
FirePython is a sexy Python logger console integrated into Firebug.The Django and Ubuntu Intrepid Almanac @ Irrational Exuberance
setup a healthy environment to deploy Django
Including nginx
Great guide to setting up django on ubuntu with nginx, apache, postgres, memcached, and git.Open Source - The Washington Times - Home
The Washington Times has always focused on content. After careful review, we determined that the best way to have the top tools to produce and publish that content is to release the source code of our in-house tools and encourage collaboration.
* django-projectmgr, a source code repository manager and issue tracking application. It allows threaded discussion of bugs and features, separation of bugs, features and tasks and easy creation of source code repositories for either public or private consumption. * django-supertagging, an interface to the Open Calais service for semantic markup. * django-massmedia, a multi-media management application. It can create galleries with multiple media types within, allows mass uploads with an archive file, and has a plugin for fckeditor for embedding the objects from a rich text editor. * django-clickpass, an interface to the clickpass.com OpenID service that allows users to create an account with a Google, Yahoo!, Facebook, Hotmail or AIM account.
The source code is released under the permissive Apache License, version 2.0. The initial tools released are: * django-projectmgr, a source code repository manager and issue tracking application. It allows threaded discussion of bugs and features, separation of bugs, features and tasks and easy creation of source code repositories for either public or private consumption. * django-supertagging, an interface to the Open Calais service for semantic markup. * django-massmedia, a multi-media management application. It can create galleries with multiple media types within, allows mass uploads with an archive file, and has a plugin for fckeditor for embedding the objects from a rich text editor. * django-clickpass, an interface to the clickpass.com OpenID service that allows users to create an account with a Google, Yahoo!, Facebook, Hotmail or AIM account.How to build a Facebook app in Django — The Uswaretech Blog - Django Web Development
facebook, djangoWriting Blazing Fast, Infinitely Scalable, Pure-WSGI Utilities - Die in a Fire - Eric Florenzano’s Blog
super(ContactForm, self).__init__(*args, **kwargs)Sunlight Labs: Blog - Content Management Systems just don't work.
The line between Content Management Systems and Application Frameworks is starting to blur and this is the core basis for this post. The comments are also great reading and provide a balanced argument for CMSs
Sunlight Labs Blog says that CMS's don't work because they contain too many 'opinions' that you won't agree with (to do with user interface and workflow) so you are better off using content frameworks.
Great observations on frameworks vs. CMSs.
good read
Kevin: Clay at Sunlight Labs talks about the issues he has with content management systems and argues that web frameworks like Django and Ruby on Rails are a better option. It's an interesting wrinkle on a common discussion in the industry, and it's worth the read.
blue state digital and information on community mailing toolsDjango Settings Tip - Setting Relative Paths | Morethanseven
helpful config tip on paths w/in a sitejaikuengine - Google Code
JaikuEngine is a social microblogging platform that runs on AppEngine. JaikuEngine powers Jaiku.com.
Run Jaiku locally or on GAE
The source for the Django app jaiku, which runs on the google appengine.
JaikuEngine is a social microblogging platform that runs on AppEngine.Real World Django
more application frameworks need a page like this. how to make it go. - added by harper reed's google reader
Really good talk summarizing Django best practices.Create a new social networking site in few hours using pinax platform (django). — The Uswaretech Blog - Django Web Development
An interesting talk on reusable apps and an article on installing PinaxDjango Best Practices — Django Best Practices
Django Best Practices This is a living document of best practices in developing and deploying with the Django Web framework. These should not be seen as the right way or the only way to work with Django, but instead best practices we’ve honed after years of working with the framework. It is a fork of the great django-reusable-app-docs project started by Brian Rosner and Eric Holscher regarding best practices for writing and maintaining reusable Django apps.Developing Django apps with zc.buildout
So, here’s how build, test, and distribute a reusable Django app using Buildout, with every step along the way explained in excruciating detail.Haystack - Search for Django
Will need eventually to replace __istartswith
Search doesn't have to be hard. Haystack lets you write your search code once and choose the search engine you want it to run on. With a familiar API that should make any Djangonaut feel right at home and an architecture that allows you to swap things in and out as you need to, it's how search ought to be.
Modular Search for Django
Haystack is a modular search framework for Django. It works directly with Django Models and provides a familiar API to people who are comfortable with Django.jespern / django-piston / wiki / Home — bitbucket.org
RESTful framework for Django
jespern / django-piston / wiki / Home — bitbucket.org
A tool for creating RESTful APIs in Django.
Get the latest version (0.1) here. A mini-framework for Django for creating RESTful APIs. Piston is a relatively small Django application that lets you create application programming interfaces (API) for your sites. It has several unique features: * Ties into Django's internal mechanisms. * Supports OAuth out of the box (as well as Basic/Digest or custom auth.) * Doesn't require tying to models, allowing arbitrary resources. * Speaks JSON, YAML, Python Pickle & XML (and HATEOAS.) * Ships with a convenient reusable library in Python * Respects and encourages proper use of HTTP (status codes, ...) * Has built in (optional) form validation (via Django), throttling, etc. * Stays out of your way. Piston logo NB: OAuth ships with piston for now, but you are not required to use it. It simply provides some boilerplate in case you want to use it later (consumer/token models, urls, etc.) Documentation o Piston Documentation + Gett
Mercurial hosting - we're here to serve.REST worst practices
A few weeks ago, I sent the following in a email to a co-worker asking for input on designing REST APIs in Django. Since then, I’ve quoted myself a few times; I thought these thoughts would be worth a (slightly edited) public home. I think the best way to dive in terms of mistakes to avoid. If you poke around you’ll find a couple-three different stabs at writing a generic REST API module for Django. So, with no further ado, some REST “worst practices:”
REST worst practices
A few weeks ago, I sent the following in a email to a co-worker asking for input on designing REST APIs in Django. Since then, I’ve quoted myself a few times; I thought these thoughts would be worth a (slightly edited) public home. I think the best way to dive in terms of mistakes to avoid. If you poke around you’ll find a couple-three different stabs at writing a generic REST API module for Django. So, with no further ado, some REST “worst practices:” Conflating models and resources In the REST world, the resource is key, and it’s really tempting to simply look at a Django model and make a direct link between resources and models — one model, one resource. This fails, though, as soon as you need to provide any sort of aggregated resource, and it really fails with highly denormalized models. Think about a Superhero model: a single GET /heros/superman/ ought to return all his vital stats along with a list of related Power objects, a list of his related Friend objects, etc. So the datA Detailed Django Tutorial: Blog Basics Part I :: Brenelz's Web Development Tips :: Winnipeg Web Development
Django tip: Caching and two-phased template rendering
It's a clever solution because you end up defining what doesn't get cached instead of what does get cached.djng—a Django powered microframework
Intrigued by microframeworks.
The trickiest problem I still need to solve is how to replace settings.py. A group of developers (including Adrian, Armin, Alex and myself) had an excellent brainstorming session at EuroDjangoCon about this. We realised that most of the stuff in settings.py can be recast as configuring services which Django makes available to the applications it is hosting.
I like the idea of a one-file microframework for websites. It is like SQLite instead of a fullfledged DBMS.
Simon Willison on his __djng microframework__ (which depends on Django). I share his hatred for settings.py and I'll be keeping an eye on this one.Add Full-Text Search to your Django project with Whoosh
Whoosh is a pure-python full-text indexing and searching library. Whoosh was opensourced recently and makes it easy to add a fulltext search to your site without any external services like Lucene or Solr for example. Whoosh is pretty flexible, but to keep it simple let's assume that the index is stored in settings.WHOOSH_INDEX (which should be a path on the filesystem) and that our application is a Wiki and we want to search the Wiki pages. Indexing Documents Before we can query the index we have to make sure that the documents are indexed properly and automatically. It doesn't matter if you put the following code into a new app or an existing app. You only have to make sure, that it lives in a file, which is loaded by Django when the process starts, resonable places would be the __init__.py or the models.py file (or any file imported in those of course) in any app. The following code listing is interrupted by short explanaitions but should be saved into one file: import os from dj
Add Full-Text Search to your Django project with WhooshDjango snippets: Smart {% if %} template tag
While retaining current Django functionality, it also handles equality, greater than and less than operators.
A replacement if tag for django that does what if tags should.Webbynode
"Webbynode is a hosting solution for developers. Whether it's Rails, Django, LAMP or your choice of Linux Distro, we have a solution for you"
新的hosting介绍。可以试试噢Camelot – Trac
A python GUI framework on top of Sqlalchemy and PyQt, inspired by the Django admin interface. Start building desktop applications at warp speed, simply by adding some additional information to you model definition.
A python GUI framework on top of Sqlalchemy and PyQtcelery - Distributed Task Queue for Django. — Celery v0.3.5 (unstable) documentation
celery is a distributed task queue framework for Django. It is used for executing tasks asynchronously, routed to one or more worker servers, running concurrently using multiprocessing.The EveryBlock source code
EveryBlock.com is an experimental news Web site that provides information at a "microlocal" level — by neighborhood or city block. It was funded by a grant from Knight Foundation, which requires the site's backend code to be open-sourced. Here is the code.Index — Django Design Patterns
http://news.ycombinator.com/item?id=694117Geraldo Reports Engine
Reports engine for Python
Geraldo is a reports engine for Python or Django applications. It uses the power of ReportLab and PIL to generate reports with page header and footer, child bands, report begin and summary bands, agreggation and graphic elements, etc
"Geraldo is a reports engine for Python or Django applications. It uses the power of ReportLab and PIL to generate reports with page header and footer, child bands, report begin and summary bands, agreggation and graphic elements, etc."Django in the Real World
A talk given at OSCON 2009 on July 21st, 2009.
This tutorial examines how best to cope when the Real World intrudes on your carefully designed website.
There’s plenty of material (documentation, blogs, books) out there that’ll help you write a site using Django… but then what? You’ve still got to test, deploy, monitor, and tune the site; failure at deployment time means all your beautiful code is for naught. This tutorial examines how best to cope when the Real World intrudes on your carefully designed website.pygowave-server - Google Code
@newsycombinator: "Open Source, compliant Google Wave Server http://bit.ly/mWrUE" (from http://twitter.com/newsycombinator/status/2856052364)
googlewave independent server implementation
The Python Google Wave Server.Fabric, Django, Git, Apache, mod_wsgi, virtualenv and pip deployment | Morethanseven
the stack I _should_ be using.A Django deployment guide for Ubuntu | Ventanazul
libapache2-mod-wsgiInstall Django, GeoDjango, PostgreSQL & PostGIS on OSX Leopard
HOWTO script
Geohacking funDevelop Twitter API application in django and deploy on Google App Engine — The Uswaretech Blog - Django Web Development
Useful, quick and easy walkthrough of writing a Python/Django app which interfaces with Twitter, and deploying it to Google AppEngine.
Twitter’s robust REST API enables building of good applications that leverage its increasingly large and real-time data. Google’s cloud system App Engine not only provides a scalable platform for deploying applications, but also proves to be economically viable because of its pay per resource usage model and a large free quota. Little wonder then, there are increasingly large number of twitter apps being deployed on App Engine. In this post, I am going to examine how to create a simple application based on twitter’s REST API and deploy it on Google App Engine. A deployed version can be found on Twitter-Follow. The specification is simple. It finds if a twitter user is following another twitter user, given their user names. The application is developed using django and deployed on Appengine using the app engine patch project. The code is open sourced with GPL v3 and can be checked out from Google Code. Lets get started building this application.Django-SocialAuth - Login via twitter, facebook, openid, yahoo, google using a single app. — The Uswaretech Blog - Django Web Development
Here is an app to allow logging in via twitter, facebook, openid, yahoo, google, which should work transparently with Django authentication system.
TL;DR version: Here is an app to allow logging in via twitter, facebook, openid, yahoo, google, which should work transparently with Django authentication system. (@login_required, User and other infrastructure work as expected.) Demo and Code.Longer version follow:Graham Dumpleton: Load spikes and excessive memory usage in mod_python.
A common complaint about mod_python is that it uses too much memory and can cause huge spikes in processor load. Fact is that this isn't really caused by mod_python itself, but indirectly by virtue of how, or more so how not, Apache has been configured for the type of web application that is being run.
this is IMPORTANT
Some have realised that mod_wsgi daemon mode seems to offer a more predictable memory usage profile and performance curve and as a result fervently recommend it, but at the same time they still don't seem to understand what the problems with embedded mode, as outlined above actually were. So, hopefully the explanation above will help in clearing up why, not just in the case of mod_wsgi daemon mode vs mod_wsgi embedded mode, but also for the much maligned mod_python.
out of date, hence the mod_python, but the apache conf still appliesTop 10 tips to a new django developer : Dpeepul Blog
1.Don’t put project name in the imports For example suppose say you have an app “xyz” in the project say “project3” then don’t say
Nice tips for django apps: what not to do for beginners
edious to change DEBUG=False (settings.py) when moving to production server Often we forget to change DEBUG to False when we move from local environment to productionFinding and fixing memory leaks in Python - amix blog
"WSGI middleware which displays sparklines of Python object counts and allows you to introspect them, using the gc module under the hood"
Finding and fixing memory leaks can be a real challenge, but luckily Python has some pretty good tools for spotting these things. I have already written about this issue and this post will go into more details on how to spot and debug a memory leak in MySQLdb, which is the standard Python wrapper for MySQL.Snakes on the Web
simple nice comment formatting.
A very interesting presentation on the past, present and future of webdev. Python and Django oriented.
That is, PHP suffers from most of the same problems as CGI, but to a lesser extent.
Joe Gregorio suggested Protocol Buffers as a efficient to implement inter-operation for applications built with different languages. Look in the comments for "Common Lisp Users" and laugh out loud. It's really true. Man, we, those who program as a business, are really screwed big time with mass concurrency problems.
Why do you hope you're using Python in 2020? I've been a Ruby developer for the last 3 years, but I don't hope I'm still using Ruby in 10 years. I hope something has come along by then and swept away my expectations of what programming can be like and replaced it with something that feels wholly new, like has happened for me multiple times. I'd feel stagnant and dependent if I was using one primary language for 10 years.
Bit of crystal ball peering
What sucks, now, about web development? How will we fix it? Can we fix it with Python?RapidSMS - Trac
RapidSMS is a free and open-source framework for dynamic data collection, logistics coordination and communication, leveraging basic short message service (SMS) mobile phone technology.
"RapidSMS is a free and open-source framework for dynamic data collection, logistics coordination and communication, leveraging basic short message service (SMS) mobile phone technology."Henrique C. Alves - Keeping simple with Django
Some good tips
After working for more than a year with Django, I collected here some tips about avoiding copy ‘n paste everywhere on your codebase
Stuff you shouldn't be doing when implemeting django applications. Good articledjangocon / Slides
erlang
Distributed web hosting via erlang/pythonTemplating Engines in PHP - Fabien Potencier
The blog of Fabien Potencier about web technology and the symfony framework
Krótka recenzja najpopularniejszych silników do generowania szablonow HTMLowych
So, you think PHP is a templating engine? So did I... for a very long time. But recently, I changed my mind. Even if PHP can be used as a templating engine, the syntax is just plain ugly as a template language.Writing good documentation (part 1)
Annotated link http://www.diigo.com/bookmark/http%3A%2F%2Fjacobian.org%2Fwriting%2Fgreat-documentation%2Fwhat-to-writeA Django Development Environment with zc.buildout — Stereoplex
This article will show you how to create a repeatable Django development environment from scratch using zc.buildout.
Buildout is a tool for reliably creating reproducible software builds. It was originally developed by Zope Corporation, and is often used in Zope builds; however, there's no dependency on Zope. You can use it to build pretty much anything. And I'm going to show you how to get a Django build up and running using it.
A Django Development Environment with zc.buildout
django buildout cfg for easy setupDjango with Mysql and Apache on EC2 — The Uswaretech Blog - Django Web Development
Django with Mysql and ApacheFacebook Developers | Facebook Developers News
Tornado: Facebook's Real-Time Web Framework for Python
Possible to build a site like FB.. using Tornado Cassandra, Hive (hadoop underneath) memcache, Scribe, Thrift.
Real-time updates have become an important aspect of the social Web that make it easier to share with friends. In March, we introduced a real-time News Feed to make the stream as relevant and engaging as possible for users. Similarly, FriendFeed, which we recently acquired, built their entire site to support real-time updates. It hasn't been easy to build and scale these features, so today we're open-sourcing a core piece of infrastructure called Tornado, which was originally developed by the FriendFeed team. Tornado is a relatively simple, non-blocking Web server framework written in Python, designed to handle thousands of simultaneous connections, making it ideal for real-time Web services. Tornado is a core piece of infrastructure that powers FriendFeed's real-time functionality, which we plan to actively maintain. While Tornado is similar to existing Web-frameworks in Python (Django, Google's webapp, web.py), it focuses on speed and handling large amounts of simultaneous traffic.
starting point for ressources about Tornado python based webserver and toolsDrupal or Django? A Guide for Decision Makers — scot hacker’s foobar blog
This document aims to lay out the pros and cons of two popular web publishing platforms: The PHP-based Drupal content management system (CMS) and the Python-based Django framework. It’s impossible to discuss systems like these in a non-technical way. However, I’ve tried to lay out the main points in straightforward language, with an eye toward helping supervisors make an informed choice.
Drupal represents a middle ground between framework and CMS that we’ve chosen not to take. Drupal is far more capable than a CMS like WordPress, but also much less flexible than a pure framework. But more importantly, the facts that Drupal isn’t object-oriented, isn’t MVC/MTV, doesn’t have an ORM, and is generally less flexible than a pure framework, not to mention our preference for working in Python over PHP, all contribute to our decision not to use it. In the end, a good developer can do good work with just about any system, while a bad developer can make mincemeat of even the best system. It’s not all about the platform. But modern tools and best practices in platform design go a long way toward ending up with a cleaner, faster, better-designed architecture that precisely matches the needs of your organizations, with no assumptions or historical baggage to work around.
someone asked me this very question the other day. another reference to hand out on such occasions to support my advice.You work for me, Computer: Dropping Django
Jinja2Development to Deployment in Django @ Irrational Exuberance
In my quest to find the ultimate deployment methodology for Django, this is one of the better ones I've found.
django deployment tutorial
it different, but I find that it saves a few precious moments of thinking to just keep a standardized project template somewhere (instead of using djangoadmin startproject to create new projects).rev=canonical bookmarklet and designing shorter URLs
Bookmarklet that will 1st check canonical, if there is no shortURL, then it will create one using TinyURL
from simon willison's weblog.
A bookmarklet to extract rev="canonical" links from pages. I only use a few sites that support this at the moment (notably Flickr), but it's quite handy.
django-shorturlsdjango-solr-search - Google Code
"Django Solr search is a Django pluggable for rapidly integrating Solr search into a Django Application."
Django module for implementing Solr search
Django Solr search is a Django pluggable for rapidly integrating Solr search into a Django Application. It was originally written for The Washington Times. Readers where complaining that they were never able to find relevant content and they weren't given the tools to narrow down their search. With some of our past experiences with Solr it seemed like the obvious choice for this type of enterprise search concept.
Django module for integrating solr search.
Django pluggable for integrating Solr search. Updated to work with Django 1.0. Can even generate schema.xml files on the fly.A Crash Course in Django [Server Side Essentials]
Are you after a web framework that drastically cuts the time it takes to build data-driven web apps? If so, the Python-based Django might be worth investigating. With a unique architecture enabling extensive code reuse and an automatic admin system, Django is the state of the art for independent web developers, as well as being a strong tool for large scale web projects. In this article, I’ll show you how the basics of setting up your own Django-powered web site.breily's juno at master - GitHub
ligthweight REST framework for python - Juno violates some usual principles of good design (don't use global variables, don't do things implicitly, etc.) for the sake of fast development and less boilerplate code
like Ruby's Sinatra, but for Python
Sinatra for Pythondjangozen | find stuff for django
Call them best practices if you like, but here's the things I do when starting a new Django project.Top 10 tips to a new django developer - 0 & 1
Good overview of Django Caching Techniques
denormalizationpython-sqlparse - Google Code
sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting SQL statements.
sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting SQL statements.
Support for parsing, splitting and formatting SQL statements.This Week in Django | Django From the Ground Up: Episodes 1 and 2
This Week in Django is your ongoing source for all things Django. We have interviews, tips, special topics, screencasts, callcasts and a ton of fun.Another take on content negotiation
MultiRes
serve content based on client accept header. whatever user is asking for i.e. json or xml.Building SEO optimised Django web applications — The Uswaretech Blog - Django Web Development
Using Django's built in tools for performing SEO. Including pinging Google when site content has changed.Best practices in web development with Python and Django « News Apps Blog
Best practices in web development with Python and DjangoEveryBlock source code released / The EveryBlock Blog
oooh, I was waiting for this! would love to play around with this for oly.Switched to Python Fabric | Es Tea Double Eye
fast full-text searchDjango-Based Blog on Google App Engine Tutorial, Part 1 | JoeyB.org
"I've spent some time over the last few weeks playing around with the Google App Engine so I figured it may be helpful to share some of the things that I have learned and do a tutorial series on how I built this simple blog using the GAE and Django."
helperDjango Conventions Project | Surfing in Kansas
Django conventions
Welcome to my project on Django Conventions. Below I will try and lay out a list of basic conventions that should be used when creating Reusable Django Applications. Nobody is going to force you to follow these rules, but I think that they will be a good reference point for Best Practices and Conventions. Please contact me if you have any questions or leave comments below. If this page is useful, please feel free to suggest more conventions that are applicable.Drop-dead simple Django caching - Die in a Fire - Eric Florenzano’s Blog
Caching is easy to screw up. Usually it's a manual process which is error-prone and tedious. It's actually quite easy to cache, but knowing when to invalidate which caches becomes a lot harder. There is a subset of caching the caching problem that, with Django, can be done quite easily. The underlying idea is that every Django model has a primary key, which makes for an excellent key to a cache. Using this basic idea, we can cover a fairly large use case for caching, automatically, in a much more deterministic way. Let's begin.
some sample caching codeJeffCroft.com: “Default” templates in Django
If yo
JeffCroftWSGI middleware is awesome, and Django should use it more - Eric Florenzano's Website
how to debug runaway django apps, amongst other things, using WSGI middleware from repoze.Rails versus Django · SuperJared.com
neutral, non-inflammatory comparison on rails and django
Can't help it — I like these sorts of comparisons, even if they're highly contentious.
Rails versus DjangoDjango Advent
new version, new storydjango-html - Google Code
Want html form tags using a django form? This is what you need
Allows setting doctype and avoiding self-closing tags in forms, for HTML4. I'm finding Django's insistence on XHTML-style self-closing form tags quite annoying.
django html
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 %}.
<p>Some nice template tags for getting django forms to output valid html instead of the default xhtml. Nice for sites where you're working with html 4.</p>django-gae2django - Google Code
gae2django is a Django helper application that provides an implementation of Google's App Engine API based on pure Django. The helper makes it easier to re-use applications originally designed for Google's App Engine environment in a Django environment. (If you want to run existing Django applications in Google's App Engine environment, then Google App Engine Helper for Django is the right choice for you...)rossp.org - Full-text searching in Django with PostgreSQL and tsearch2
"Mike Malone shares code used by Pownce to add QuerySet level caching to Django. It’s a smart implementation—a CachingQuerySet class inspects the arguments passed to get(), and if they’re just a straight forward exact PK lookup hits memcache for the object before hitting the database. Signals are used to invalidate the cache."
Some examples of transparently caching things in Django. An example Django app that uses custom managers, fields, and QuerySets to transparently cache objects.
Some examples of transparently caching things in Django.
mmalone's django-caching appWriting great documentation
How to write technical documetns: overview, API document, walkthrough...deck.cc - articles - Django 1.2 on Google App Engine
curl -L http://github.com/clones/google-app-engine-django/tarball/master -o google-app-engine-django.tar.gz
ttp://github.com/clones/google-app-engine-djangoDjango by Example: Django Tutorials - Django by Example
good examples of Django apps