= Django source-code repository, wiki and bug-report system = Django is available open-source under the [http://code.djangoproject.com/file/django/trunk/LICENSE BSD license]. == Browsing Django's codebase online == * [/browser/django/trunk/ Browse source]: See the full code via a Web interface. * [/timeline/ Timeline]: Keep track of recent changes. * See our [http://www.djangoproject.com/download/ download page] for download instructions. == Getting involved == * [http://www.djangoproject.com/documentation/contributing/ How to contribute to Django]: How our community works. * [http://code.djangoproject.com/wiki/Reports Tickets]: View active tickets, make bug reports and contribute feature requests. * [wiki:LittleEasyImprovements Little, easy improvements]: Get your feet wet by taking on one of these small tasks. * [http://www.djangoproject.com/documentation/contributing/#reporting-security-issues How to report security issues]. == Branches in development == Currently, a number of branches of development aim to implement new features in Django. Each of these may or may not be stable, but we encourage you to test them out and give feedback to branch maintainers. Each branch has its own page. * [wiki:NewformsAdminBranch newforms-admin]: A refactoring of Django's admin site to use the [http://www.djangoproject.com/documentation/newforms/ newforms library] rather than automatic manipulators, allowing for additional customization of admin-site functionality. * [wiki:QuerysetRefactorBranch queryset-refactor]: A refactoring of the way queries are constructed in Django's database layer. * [wiki: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. * [wiki:SchemaEvolution]: This is a new feature, under development as a project for the 2006 Summer of Code. * [wiki: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). * [wiki: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. * [wiki:FullHistory]: A "full content history" implementation with compare, revert, etc. A SoC 2006 project. * [wiki:TextIndexingAbstractionLayer]: An abstraction layer for full-text indexing and search engines such as Lucene, Xapian, and Hyper Estraier. Also known as Merquery, this Summer of Code project will most likely be placed in contrib.search. * [wiki:GeoDjango]: A branch for building GIS-enabled web applications. Includes geometry-related fields and an interface for using Django's ORM with a spatial database (currently only PostGIS). * Generic relations: a "generic foreign key" feature is currently under development, but not yet completed. There is no support for it yet in the admin application, and it is probably unwise to attempt to use it in a production application. We are discouraging the creation of new branches inside the Django repository in the future; if you'd like to work on a major new contribution to Django, we encourage you to set up a new "branch" elsewhere and let the Django-developers mailing list know about it. One easy way to do this is via [http://www.selenic.com/mercurial/ Mercurial], a distributed version control system; Tom Tobin has set up a Mercurial repository mirroring Django's trunk at [http://hg.korpios.com/django.trunk]. == Descriptions of major changes to the codebase == * [wiki:BackwardsIncompatibleChanges Backwards-incompatible changes]: Comprehensive list of backwards-incompatible changes made since first public release. * [wiki:RemovingTheMagic Removing the magic]: The magic-removal branch was merged to trunk in May 2006 ([2809]). * [wiki:NewAdminChanges New-admin changes]: The new-admin branch was merged to trunk in November 2005 ([1433]). == Under discussion == * [wiki:ModelInheritance Model Inheritance]: Subclassing and model inheritance. * [wiki:VersionOneFeatures Version one features]: Which features will go in Django 1.0. * [wiki:Localization Localization]: How we can improve Django's l10n support. * [wiki:AJAX AJAX and Django]: To what extent should Django automate AJAX? * [wiki:BetterErrorMessages Better error messages]: Documenting situations where better error messages would improve the experience of using Django * [wiki:MultipleDatabaseSupport Multiple database support]: Adding support for multiple database connections. * [wiki:AutoEscaping Auto-escaping]: Auto escaping of variables by templates. == More Django resources == See the [wiki:DjangoResources Django resources page] for a cornucopia of unofficial articles, code samples and other information contributed by the community.