= 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 code 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]: The lowdown on how our community works. * [report:1 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]. == Sites using Django == * [wiki:DjangoPoweredSites Django-powered sites]: List your Django powered site(s) here! == 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 small 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: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. * 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. == 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]). == Example applications (with source code/templates) == * [http://code.google.com/hosting/search?q=label:django Django-based projects at Google Code Hosting]. * [/browser/djangoproject.com/django_website/ djangoproject.com]: See the full code and templates for the Django-powered portions of this site (e.g., 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. * [http://code.google.com/p/diamanda/ Diamanda Wiki and MyghtyBoard Forum]: A wiki and forum. GPL. * [https://svn.greenpeace.org/repositories/custard/production/ Custard/Melt]: A work-in-progress community Web app developed by Greenpeace. LGPL. * [http://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/wiki/DjangoGallery Django Photo Gallery]: A "gallery with a twist" by Georg Bauer. * [http://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/wiki/CmsProject]: A simple CMS by Georg Bauer. (Powers the site [http://rfc1437.de/].) * [http://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/wiki/IrcLogger]: An IRC logger by Georg Bauer. (Powers the [http://simon.bofh.ms/logger/django/ Django IRC logs].) * [http://zyons.com Zyons]: A forum/community application. * [http://workstyle-py.sourceforge.net/ WorkStyle]: A "Get Things Done" to-do list management application. A [http://django.everes.net/WorkStyle/ sandbox] is available, too. * [http://www.carcosa.net/jason/software/django/stockphoto/ Stockphoto]: A simple photo gallery by Jason !McBrayer. * [http://www.feedjack.org/ Feedjack]: A planet/feed aggregator by Gustavo Picón. Sample sites: [http://django.feedjack.org/], [http://gnome.feedjack.org/], [http://google.feedjack.org/]. * [http://dpaste.com/about/ Pastebin]: A pastebin application driven completely by generic views, no custom view code. * [http://ff-firmware.quamquam.org/trac/wiki/FFSomething FFSomething]: A suite for managing open wireless mesh networks * [https://svn.wamber.net/projects/bookmaker BookMaker]: An open-source Web application for managing small parimutuel betting pools ([https://svn.wamber.net/projects/bookmaker/browser Browse source]). * [http://riseproject.sourceforge.net/ RISE Project (Resources and Information for Success in Education)]: A project to manage and publish academic catalog information, including programs, courses, and schedules. BSD. * [http://www.coulix.net/blog/2006/aug/17/ip-country-flags-django-comments/ IP-to-country application]: Allows you to get the country flag of comments. * [http://tools.assembla.com/notmm/wiki notmm]: A multi-purpose application toolkit. (Apache License Version 2.0 and BSD-style license compatible.) * [http://trac.dedhost-sil-076.sil.at/trac/filebrowser/wiki FileBrowser] - An extension to the Django admin interface. * [http://trac.ambitone.com/ambidjangolib/wiki/djac djac] - a Django app which collects tickets from multiple [http://trac.edgewall.org/ trac] sites into one page * [svn://wowsms.ru/homepage/trunk/ Blog] - weblog, portfolio, cv, Sample site: [http://mezz.spb.ru] == Contributed documentation and examples == Note that none of these documents are "official" and may be incorrect. If you find errors, please correct them. === General === * [http://djangoapi.quamquam.org Django API]: Autogenerated Django API documentation * [http://blixtra.org/blog/2006/07/17/top-30-django-tutorials-and-articles/ Compilation of Tutorials]: Intended to be a complete and concise list of Django tutorials * CookBook: Code recipes. * CommonPitfalls: Common developer errors, gotchas, etc. * DocumentationSuggestions: A place to put docs that you wish ''you'' could have found while learning * [wiki:DosAndDontsForApplicationWriters Do's and Dont's for application writers]: how to make an application that is easy to distribute * [wiki:MindmapCheatsheetForGenericViewsAPI Mindmap Cheat Sheet for the Generic Views API] as described in [http://www.djangobook.com/en/beta/chapter09/ The Django Book (chapter 9)]. * FormField documentation for Manipulators * ExtendedUserModel: How to extend the auth systems's User class to contain extra data. (Warning: kludge!) * [wiki:CustomFormFields Making Custom form fields]: Adventures in making new form fields. * [wiki:CustomUploadAndFilters Custom Upload Fields with Template Filters]: extra features for upload fields. * [wiki:DeveloperDocs Developer Documentation]: Documentation about the internals of Django. * [wiki:ContributedMiddleware User-contributed middleware] * [http://trac.studioquattro.biz/djangoutils/ Djangoutils]: Miscellaneous Django utilities. * [wiki:InitialSQLDataDiangoORMWay Initial SQL data using Django ORM]: How to do it. * [wiki:Django_and_PureFTPd Using Django and PureFTPd]: How to use Django's user database in PureFTPd. Surprisingly painless. * [http://www.zbyte64.com/code.shtml Django & Open Office]: An example of how to use Django and Open Office to do advance document templating. === Installing and configuring Django === * [wiki:ServerArrangements Server arrangements]: How to use Django with FCGI, Twisted, etc. * [wiki:SetupOnTiger Setup on Mac OS X Tiger]: Includes installing python 2.4 (which isn't required), the latest version of postgresql, and psycopg. * [wiki:WindowsInstall] - install django on Windows in 5 minutes (using sqlite and the internal webserver) * [http://manuals.textdrive.com/read/book/15 Django, lighttpd and FastCGI]: A book-like documentation about running django with Lighttpd * [wiki:MovablePythonInstall] - install Django on a USB stick using Movable Python * [wiki:DjangoOnAStick] - Install Django on a USB stick. === Development environment === * [wiki:SimpleBashScriptToSetupDevelopmentEnvironment Simple Bash Script To Setup Development Environment]: An example of how to set up your development environment. * [wiki:DjangoSettingsBashFunction 'django-settings' Bash function]: Save the typing of DJANGO_SETTINGS_MODULE. * [wiki:UsingVimWithDjango Django development with Vim]: Hints and tips for using the Vim editor. * [wiki:PythonScriptForParsingSettings A python script for parsing settings.py]: A small python script can be used to read, modify, save settings.py file. * [wiki:PythonScriptForParsingUrlConf A python script for parsing urls.py]: A small python script can be used to read, modify, save urls.py file. * [wiki:ProfilingDjango Profiling Django]: How to use the Python hotshot profiler with Django * [wiki:GreasemonkeyScriptForSmallTitles Greasemonkey script for djangoproject.com]: Shortens titles to faciliate better tab browsing of Django's documentation * [wiki:SimplePrintAppForDebugging]: A simple print app for debugging. === Templates === * ExtendingAdminTemplates * [wiki:TemplateTagsCheatSheet] - A quick list of all the template tags. * [wiki:MyghtyTemplatesInDjango Using Myghty Templates in Django] - How to use Myghty templates in Django * [http://www.zope.org/Members/shh/DjangoPageTemplates Zope3 Page Templates for Django] – Add-on allowing to use ZPT in Django * [ticket:2440 PHP template loader] - Integrate Django templates into an existing PHP based site * [http://126.pl/cheetah.tar.bz Cheetah template for django]: Generic views + cheetah's admin functions. Contact dj@126.pl. (BROKEN LINK) === Code examples === * [wiki:ajax_shop_basket Ajax/DHTML shopping basket in Django example] * [wiki:contentBBCode_parser ContentBBcode Parser] - How-to make pluggable special-tag parser * [wiki:reading_baldurs_gate_binary_files Reading Binary Files] - How to read Baldurs Gate II character files and display data about the character * [wiki:AjaxDjangoDojoForm Ajax and Django, using Dojo] How to submit a form using Ajax with Dojo. * [wiki:AjaxDjangoYUI Ajax and Django, using YUI] How to make ajax work with Django with Yahoo! UI Library. * [http://www.carthage.edu/webdev/?p=12 LDAP Django Auth Backend]: Dead-Simple LDAP in Django with Backends * [wiki:AddDojoEditor Add Dojo Editor]: How to add a rich-text editor to administration pages with Dojo. * [wiki:CustomWidgetsTinyMCE Custom TinyMCE Widget]: How to create a custom TinyMCE widget using django.newforms * [wiki:ScaffoldScript Simple 'scaffolding']: Spew out simple form fields as a base for modification * [wiki:Scaffolding More about scaffolding]: Spew out simple forms for your whole app, including automated urls * [wiki:GenerateGenericURLs Generic URL Generator]: Generate URLs when using generic views * [wiki:ModelMiddleware Model 'middleware']: Add pre/post save/delete callbacks to any model. * [wiki:ManipulatorScript Simple Custom Manipulators]: Spews out a custom manipulator for your model, primed and ready for tweaking. * [wiki:AutoAllApps Auto All-Apps Module]: Simple package with all the installed app modules underneith it. * [wiki:SafeSettingsContextProcessor Safe Settings context processor]: Provide template access to your settings variables. * [wiki:FormGenScript Form Generator]: Simple script to spew out a newform from a given model. === Web services/APIs === * [wiki:searchengine A Google search engine front end in Django tutorial] * [wiki:XML-RPC] Example of doing XML-RPC in Django * [wiki:JSON-RPC] Example of doing JSON-RPC in Django * [wiki:WebServices WebServices]: An example showing how to access a web service (Amazon.com) using Python. * [wiki:FlickrIntegration] - One way of integrating flickr with Django * [wiki:GoogieSpell] - Spell checking [http://www.djangoproject.com/documentation/model_api/#textfield TextField]s with [http://orangoo.com/labs/GoogieSpell/ GoogieSpell]. === Tutorials on the Web === * [http://step-inside.org/blog/2006/jul/01/django_blog_notifying_comments_email/ Django Blog: Notifying about new comments by email] * [http://www.mercurytide.com/knowledge/white-papers/django-full-text-search Extending Django's database API to include full-text search] * [http://fallingbullets.com/blog/2006/aug/06/wordpress-clone-27-seconds-part-1-40/ WordPress Clone in 27 Seconds] * [http://www.wilsonminer.com/posts/2006/may/10/are-you-generic/ Are you generic?] * [http://www.rossp.org/blog/2006/jul/11/sending-e-mails-templates/ Sending E-Mails via Templates] * [http://www2.jeffcroft.com/2006/jul/14/django-admin-your-php-app/ Django admin for your PHP app?] * [http://www.b-list.org/weblog/2006/07/16/django-tips-hacking-freecomment Hacking FreeComment] * [http://www.b-list.org/weblog/2006/06/28/django-tips-difference-between-blank-and-null The difference between blank and null] * [http://www.rossp.org/blog/2006/jun/23/building-blog-django-4/ Using Django’s TemplateTags] * [http://lukeplant.me.uk/blog.php?id=1107301641 A Django website that took (a lot) more than 20 minutes] * [http://www.pointy-stick.com/blog/2006/07/03/django-tips-forms-multiple-inline-objects/ Forms With Multiple Inline Objects] * [http://www.pointy-stick.com/blog/2006/06/29/django-tips-extending-generic-views/ Extending Generic Views] * [http://www.b-list.org/weblog/2006/06/14/django-tips-template-context-processors Template context processors] * [http://www.pointy-stick.com/blog/2006/06/14/custom-sql-django/ Custom SQL In Django] * [http://www.b-list.org/weblog/2006/06/13/how-django-processes-request How Django processes a request] * [http://www.b-list.org/weblog/2006/06/07/django-tips-write-better-template-tags Write better template tags] * [http://www.b-list.org/weblog/2006/06/06/django-tips-extending-user-model Extending the User model] * [http://feh.holsman.net/articles/2006/06/03/django-contenttype Django’s Undocumented contenttype app] * [http://www.b-list.org/weblog/2006/05/21/django-gzip-and-wsgi Django, gzip and WSGI] * [http://www2.jeffcroft.com/2006/may/02/django-non-programmers/ Django for non-programmers] * [http://www2.jeffcroft.com/2006/feb/25/django-templates-the-power-of-inheritance/ Django Templates: The Power of Inheritance] * [http://www2.jeffcroft.com/2006/feb/21/django-templates-an-introduction/ Django Templates: An Introduction] * [http://www2.jeffcroft.com/2006/may/11/django-dreamhost/ Setting up Django on Dreamhost] * [http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/ Django on Windows HOWTO] * [http://lukeplant.me.uk/blog.php?id=1107301634 Django Admin Hack - Fields varying with user permissions] * [http://www.carcosa.net/jason/blog/computing/django/gotchas-2006-04-19 Some django gotchas] * [http://rfc1437.de/page/django-templates-are-not-limited/ Django Templates are not limited] * [http://www-128.ibm.com/developerworks/linux/library/l-django/index.html Develop for the Web with Django and Python] * [http://code.djangoproject.com/wiki/AJAXWidgetComboBox An AJAX Select Widget for Django] * [http://code.djangoproject.com/wiki/UsingFreeComment Using Django’s Free Comments] * [http://grindhaug.org/?p=157 MochiKit and Django] * [http://www.oreillynet.com/onlamp/blog/2006/06/django_rss_made_stupidly_simpl.html RSS made stupidly simple] * [http://toolmantim.com/article/2006/5/31/installing_django_on_osx Installing Django on OSX] === Presentations === * [wiki:SnakesAndRubiesTranscript 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. * [http://itmaurer.com/clepy/htdocs/media/presentation/presentation.html Python Web development with Django]: A presentation in pseudo-!PowerPoint format that provides a good overview. == Resources in other languages == * [wiki:TranslateDocumentation Translation grid for documents in '/docs']: A work in progress translation project. * [wiki:DocItTutorial01 Italian Django Tutorial]: An Italian Django tutorial step by step. [Italian] * [wiki:ChineseDjangoTutorial Chinese Django Tutorial]: A Chinese Django tutorial step by step. [Chinese] * [http://blog.zabiello.com/articles/category/django Jarosław Zabiełło Blog]: Various Django tips and tutorials [Polish] * [http://www.linux.rk.edu.pl Biblioteka Linuxa]: Polish documentation and examples [Polish] * [http://www.biologeek.com/journal/index.php/Web-frameworks French translation of Django documentation] * [wiki:DjangoBrasil Django Brazil]: To organize suggestions and ideias. == Under discussion == * [wiki:ModelInheritance Model Inheritance]: Subclassing and model inheritance. * [wiki:VersionOneFeatures Version One features] * [wiki:Localization Localization (l10n)] * [wiki:UnicodeInDjango Streamlining Unicode Usage] * [wiki:AJAX AJAX and Django] * [wiki:BetterErrorMessages Better Error Messages]: Documenting situations where better error messages would improve the experience of developing with Django * [wiki:MultipleDatabaseSupport Multiple Database Support]: Adding support for multiple database connections * [wiki:AutoEscaping]: Auto escaping of variables by templates == Community == * [wiki:DevelopersForHire Developers for hire]: Community members available to do Django work. * [wiki:DjangoFriendlyWebHosts Django-friendly Web hosts] * [http://www.djangoproject.com/community/badges/ Official Django badges] * [http://www.djangoproject.com/community/logos/ Official Django logos] * [wiki:DjangoUsers DjangoUsers]: User community about django. * [http://www.pybots.org/ Pybots]: Continuous integration testing of the Django development trunk against latest changes to the Python 2.5 maintenance branch and 2.6 development trunk.