djangodocs.org

246 sections in Django 5.1 Search all versions →

1.8

Internals Django Deprecation Timeline

See the Django 1.6 release notes for more details on these changes. django.contrib.comments will be removed.

Database setup

Tutorial Writing your first Django app, part 2

Now, open up mysite/settings.py. It’s a normal Python module with module-level variables representing Django settings. By default, the DATABASES configuration uses SQLite. If you’re new to databases, or you’re just interested in trying Django, this is the easiest choice.

Write a minimal form

Tutorial Writing your first Django app, part 4

Let’s update our poll detail template (“polls/detail.html”) from the last tutorial, so that the template contains an HTML <form> element: polls/templates/polls/detail.html A quick rundown: The above template displays a radio button for each question choice.

Configurable attributes

Reference Applications Application configuration

AppConfig.name : Full Python path to the application, e.g. 'django.contrib.admin'. AppConfig.label : Short name for the application, e.g. 'admin' AppConfig.verbose_name : Human-readable name for the application, e.g. “Administration”. AppConfig.path : Filesystem path to the application directory, e.g. '/usr/lib/pythonX.Y/dist-packages/django/contrib/admin'.

ModelAdmin options

Reference The Django admin site ModelAdmin objects

ModelAdmin.filter_horizontal : By default, a ManyToManyField is displayed in the admin site with a <select multiple>. However, multiple-select boxes can be difficult to use when selecting many items.

dbshell

Reference django-admin and manage.py Available commands

django-admin dbshell Runs the command-line client for the database engine specified in your ENGINE setting, with the connection parameters specified in your USER, PASSWORD, etc., settings. For PostgreSQL, this runs the psql command-line client.

shell

Reference django-admin and manage.py Available commands

django-admin shell Starts the Python interactive interpreter. --interface {ipython,bpython,python}, -i {ipython,bpython,python} Specifies the shell to use. By default, Django will use IPython or bpython if either is installed.

Forms

Reference

Detailed form API reference. For introductory material, see the Working with forms topic guide.

MultiWidget

Reference Widgets Base widget classes

classMultiWidget(widgets,attrs=None)[source] : A widget that is composed of multiple widgets. MultiWidget works hand in hand with the MultiValueField.

choices

Reference Model field reference Field options

The key of the mapping is the name to apply to the group and the value is the choices inside that group, consisting of the field value and a human-readable name for an option.

Reference QuerySet API reference

Internally, a QuerySet can be constructed, filtered, sliced, and generally passed around without actually hitting the database. No database activity actually occurs until you do something to evaluate the queryset. You can evaluate a QuerySet in the following ways: Iteration.

explain()

Reference QuerySet API reference QuerySet APIMethods that do not return QuerySets

explain(format=None,**options) aexplain(format=None,**options) Asynchronous version: aexplain() Returns a string of the QuerySet’s execution plan, which details how the database would execute the query, including any indexes or joins that would be used.

Topic guide Django’s cache framework

If you’re after even more control, you can also cache template fragments using the cache template tag. To give your template access to this tag, put {% load cache %} near the top of your template.

Topic guide Aggregation Aggregations and other QuerySet clausesvalues()

Fields that are mentioned in the order_by() part of a queryset are used when selecting the output data, even if they are not otherwise specified in the values() call.

Topic guide Making queries

Keyword argument queries – in filter(), etc. – are “AND”ed together. If you need to execute more complex queries (for example, queries with OR statements), you can use Q objects.

Topic guide Translation Internationalization: in template code

Contrarily to the translate tag, the blocktranslate tag allows you to mark complex sentences consisting of literals and variable content for translation by making use of placeholders: To translate a template expression – say, accessing object attributes or using template …

Topic guide How to install Django

If you plan to use Django’s database API functionality, you’ll need to make sure a database server is running. Django supports many different database servers and is officially supported with PostgreSQL, MariaDB, MySQL, Oracle and SQLite.

Tagging tests

Topic guide Testing tools Test cases features

You can tag your tests so you can easily run a particular subset.