|Version 168 (modified by Simon Willison, 8 years ago) (diff)|
Django source code repository and wiki
Django is available open-source under the BSD license.
Browsing code online
- Browse source: See the full code via a Web interface.
- Timeline: Keep track of recent changes.
- See our download page for download instructions.
- How to contribute to Django: The lowdown on how our community works.
- [report:1 Tickets]: View active tickets, make bug reports and contribute feature requests.
- Little, easy improvements: Get your feet wet by taking on one of these small tasks.
Django's development version is always being worked on, which means that from time to time there are things that won't work for a while because they're being updated, and new features will be introduced which take a little time to stabilize. Some of them are listed here:
- ModelInheritance: Write-up discussing how inheritance/subclassing of models should work. Currently this is not implemented in the development version of Django, so if you need model subclassing stick to one of the older stable releases or use workarounds like one-to-one relationships.
- SchemaEvolution: This is a new feature, under development as a project for the 2006 Summer of Code.
- RowLevelPermissions: Currently Django's permission system only works at the level of an entire model -- e.g., user "Bob" has access to add flatpages and edit users. This Summer of Code project will extend the permission system to be much more fine-grained, so permissions will be able to be assigned per object instead of per model (so, for example, user "Bob" could be given permission to edit only flatpage number 24 and user number 12, instead of all flatpages and all users).
- GenericAuthorization: A more flexible authorization system for Django. The new system should allow for ACL's, role-based systems, and Django's current model-level permissions.
- Multiple authentication backends: the multi-auth branch of Django, currently under development, is abstracting the authentication backend to make it easier to use other authentication systems like LDAP. Check out the documentation to see how this will work.
Descriptions of major changes to the codebase
- Backwards Incompatible Changes: Comprehensive list of backwards-incompatible changes made since first public release.
- Removing the magic: The magic-removal branch was merged to trunk in changeset , May 2006.
- New-admin changes: The new-admin branch was merged to trunk in changeset , November 2005.
Example applications (with source code/templates)
- djangoproject.com: See the full code and templates for the Django-powered portions of this site (i.e., everything except the ticket system). The Python code is available under the BSD license, but the templates are copyrighted by World Online and shouldn't be copied.
- Custard/Melt: Source code for application developed using Django.
- Django Photo Gallery : Source for a "Gallery with a twist" (by Georg Bauer)
- Source for A simple CMS : written with Django (Georg Bauer) ( A site http://rfc1437.de/ : using this simple CMS system.)
- Source for an IRCLogger : done in Django (Georg Bauer)
- WorkStyle - GTD TODO Management Application. sandbox is available too.
- Zyons - Forum/Community application.
- stockphoto - A simple photo gallery (by Jason McBrayer)
- Feedjack - A Planet/feed aggregator application by Gustavo Picón. Sample sites: (1, 2, 3)
- Generic Pastebin App - An application completely driven by generic views, no custom view code. Source links available in upper right corner of any page.
- FFSomething - Suite for managing open wireless mesh networks
Sites using Django
- Django-powered sites : List your Django powered site(s) here!
- User-contributed middleware
- Zope3 Page Templates for Django
- Cheetah template for django: Generic views + cheetah's admin functions. Contact dj@….
- Djangoutils: Trac/Subversion with miscellaneous Django utilities (thumbnails, overLIB support, admin utilities).
- Simple 'scaffolding'?: Spew out simple form fields as a base for modification
- Simple Custom Manipulators?: Spews out a custom manipulator for your model, primed and ready for tweaking.
- Model 'middleware': Add pre/post save/delete callbacks to any model.
- Generic URL Generator: Generate URLs when using generic views
- Server arrangements: How to use Django with FCGI, Twisted, etc.
- Setup on Mac OS X Tiger: Includes installing python 2.4 (which isn't required), the latest version of postgresql, and psycopg.
- WindowsInstall - install django on Windows in 5 minutes (using sqlite and the internal webserver)
- Simple Bash Script To Setup Development Environment: An example of how to set up your development environment.
- 'django-settings' Bash function: Save the typing of DJANGO_SETTINGS_MODULE.
- Django development with Vim: Hints and tips for using the Vim editor.
- A python script for parsing settings.py: A small python script can be used to read, modify, save settings.py file.
- A python script for parsing urls.py: A small python script can be used to read, modify, save urls.py file.
- CookBook: Code recipes.
- CommonPitfalls: Common developer errors, gotchas, etc.
- DocumentationSuggestions: A place to put docs that you wish you could have found while learning
- Do's and Dont's for application writers: how to make an application that is easy to distribute
- Django API (Beta): Automatic generated API using epydoc
- Ajax and Django, using Dojo How to submit a form using Ajax with Dojo.
- FormField documentation for Manipulators
- ExtendedUserModel: How to extend the auth systems's User class to contain extra data. (Warning: kludge!)
- Making Custom form fields: Adventures in making new form fields
- Developer Documentation: Documentation about the internals of Django.
- Chinese Django Tutorial: A Chinese Django tutorial step by step.
- Profiling Django: How to use the Python hotshot profiler with Django
- Snakes and Rubies Transcript: Currently a partial transcript of the Snakes and Rubies meeting videos.
- DjangoScreencasts: Official and unofficial screencasts showing Django development in action.
- Python Web development with Django: A presentation in pseudo-PowerPoint format that provides a good overview.
- XML-RPC Example of doing XML-RPC in Django
- WebServices: An example showing how to access a web service (Amazon.com) using Python.
- FlickrIntegration - One way of integrating flickr with Django
- Model Inheritance: Subclassing and model inheritance.
- Version One features
- Localization (l10n)
- Streamlining Unicode Usage
- AJAX and Django
- Better Error Messages: Documenting situations where better error messages would improve the experience of developing with Django
- Muliple Database Support: Adding support for multiple database connections
- AutoEscaping: Auto escaping of variables by templates