---
title: "Using Django"
version: 2.1
locale: el
source: https://docs.djangoproject.com/el/2.1/topics/
canonical: https://djangodocs.dev/el/2.1/topics/
---
# Using Django

Introductions to all the key parts of Django you’ll need to know:

- [How to install Django](/el/2.1/topics/install/)

  - [Install Python](/el/2.1/topics/install/#install-python)
  - [Install Apache and `mod_wsgi`](/el/2.1/topics/install/#install-apache-and-mod-wsgi)
  - [Get your database running](/el/2.1/topics/install/#get-your-database-running)
  - [Install the Django code](/el/2.1/topics/install/#install-the-django-code)
- [Models and databases](/el/2.1/topics/db/)

  - [Models](/el/2.1/topics/db/models/)
  - [Making queries](/el/2.1/topics/db/queries/)
  - [Aggregation](/el/2.1/topics/db/aggregation/)
  - [Search](/el/2.1/topics/db/search/)
  - [Managers](/el/2.1/topics/db/managers/)
  - [Performing raw SQL queries](/el/2.1/topics/db/sql/)
  - [Database transactions](/el/2.1/topics/db/transactions/)
  - [Multiple databases](/el/2.1/topics/db/multi-db/)
  - [Tablespaces](/el/2.1/topics/db/tablespaces/)
  - [Database access optimization](/el/2.1/topics/db/optimization/)
  - [Database instrumentation](/el/2.1/topics/db/instrumentation/)
  - [Examples of model relationship API usage](/el/2.1/topics/db/examples/)
- [Handling HTTP requests](/el/2.1/topics/http/)

  - [URL dispatcher](/el/2.1/topics/http/urls/)
  - [Writing views](/el/2.1/topics/http/views/)
  - [View decorators](/el/2.1/topics/http/decorators/)
  - [File Uploads](/el/2.1/topics/http/file-uploads/)
  - [Django shortcut functions](/el/2.1/topics/http/shortcuts/)
  - [Generic views](/el/2.1/topics/http/generic-views/)
  - [Middleware](/el/2.1/topics/http/middleware/)
  - [How to use sessions](/el/2.1/topics/http/sessions/)
- [Working with forms](/el/2.1/topics/forms/)

  - [HTML forms](/el/2.1/topics/forms/#html-forms)
  - [Django’s role in forms](/el/2.1/topics/forms/#django-s-role-in-forms)
  - [Forms in Django](/el/2.1/topics/forms/#forms-in-django)
  - [Building a form](/el/2.1/topics/forms/#building-a-form)
  - [More about Django `Form` classes](/el/2.1/topics/forms/#more-about-django-form-classes)
  - [Working with form templates](/el/2.1/topics/forms/#working-with-form-templates)
  - [Further topics](/el/2.1/topics/forms/#further-topics)
- [Templates](/el/2.1/topics/templates/)

  - [Support for template engines](/el/2.1/topics/templates/#support-for-template-engines)
  - [The Django template language](/el/2.1/topics/templates/#the-django-template-language)
- [Class-based views](/el/2.1/topics/class-based-views/)

  - [Introduction to class-based views](/el/2.1/topics/class-based-views/intro/)
  - [Built-in class-based generic views](/el/2.1/topics/class-based-views/generic-display/)
  - [Form handling with class-based views](/el/2.1/topics/class-based-views/generic-editing/)
  - [Using mixins with class-based views](/el/2.1/topics/class-based-views/mixins/)
  - [Basic examples](/el/2.1/topics/class-based-views/#basic-examples)
  - [Simple usage in your URLconf](/el/2.1/topics/class-based-views/#simple-usage-in-your-urlconf)
  - [Subclassing generic views](/el/2.1/topics/class-based-views/#subclassing-generic-views)
- [Migrations](/el/2.1/topics/migrations/)

  - [The Commands](/el/2.1/topics/migrations/#the-commands)
  - [Backend Support](/el/2.1/topics/migrations/#backend-support)
  - [Workflow](/el/2.1/topics/migrations/#workflow)
  - [Dependencies](/el/2.1/topics/migrations/#dependencies)
  - [Migration files](/el/2.1/topics/migrations/#migration-files)
  - [Adding migrations to apps](/el/2.1/topics/migrations/#adding-migrations-to-apps)
  - [Historical models](/el/2.1/topics/migrations/#historical-models)
  - [Considerations when removing model fields](/el/2.1/topics/migrations/#considerations-when-removing-model-fields)
  - [Data Migrations](/el/2.1/topics/migrations/#data-migrations)
  - [Squashing migrations](/el/2.1/topics/migrations/#squashing-migrations)
  - [Serializing values](/el/2.1/topics/migrations/#serializing-values)
  - [Supporting multiple Django versions](/el/2.1/topics/migrations/#supporting-multiple-django-versions)
- [Managing files](/el/2.1/topics/files/)

  - [Using files in models](/el/2.1/topics/files/#using-files-in-models)
  - [The `File` object](/el/2.1/topics/files/#the-file-object)
  - [File storage](/el/2.1/topics/files/#file-storage)
- [Testing in Django](/el/2.1/topics/testing/)

  - [Writing and running tests](/el/2.1/topics/testing/overview/)
  - [Testing tools](/el/2.1/topics/testing/tools/)
  - [Advanced testing topics](/el/2.1/topics/testing/advanced/)
- [User authentication in Django](/el/2.1/topics/auth/)

  - [Overview](/el/2.1/topics/auth/#overview)
  - [Installation](/el/2.1/topics/auth/#installation)
  - [Usage](/el/2.1/topics/auth/#usage)
- [Django’s cache framework](/el/2.1/topics/cache/)

  - [Setting up the cache](/el/2.1/topics/cache/#setting-up-the-cache)
  - [The per-site cache](/el/2.1/topics/cache/#the-per-site-cache)
  - [The per-view cache](/el/2.1/topics/cache/#the-per-view-cache)
  - [Template fragment caching](/el/2.1/topics/cache/#template-fragment-caching)
  - [The low-level cache API](/el/2.1/topics/cache/#the-low-level-cache-api)
  - [Downstream caches](/el/2.1/topics/cache/#downstream-caches)
  - [Using `Vary` headers](/el/2.1/topics/cache/#using-vary-headers)
  - [Controlling cache: Using other headers](/el/2.1/topics/cache/#controlling-cache-using-other-headers)
  - [Order of `MIDDLEWARE`](/el/2.1/topics/cache/#order-of-middleware)
- [Conditional View Processing](/el/2.1/topics/conditional-view-processing/)

  - [The `condition` decorator](/el/2.1/topics/conditional-view-processing/#the-condition-decorator)
  - [Shortcuts for only computing one value](/el/2.1/topics/conditional-view-processing/#shortcuts-for-only-computing-one-value)
  - [Using the decorators with other HTTP methods](/el/2.1/topics/conditional-view-processing/#using-the-decorators-with-other-http-methods)
  - [Comparison with middleware conditional processing](/el/2.1/topics/conditional-view-processing/#comparison-with-middleware-conditional-processing)
- [Cryptographic signing](/el/2.1/topics/signing/)

  - [Protecting the `SECRET_KEY`](/el/2.1/topics/signing/#protecting-the-secret-key)
  - [Using the low-level API](/el/2.1/topics/signing/#using-the-low-level-api)
- [Sending email](/el/2.1/topics/email/)

  - [Quick example](/el/2.1/topics/email/#quick-example)
  - [`send_mail()`](/el/2.1/topics/email/#send-mail)
  - [`send_mass_mail()`](/el/2.1/topics/email/#send-mass-mail)
  - [`mail_admins()`](/el/2.1/topics/email/#mail-admins)
  - [`mail_managers()`](/el/2.1/topics/email/#mail-managers)
  - [Examples](/el/2.1/topics/email/#examples)
  - [Preventing header injection](/el/2.1/topics/email/#preventing-header-injection)
  - [The `EmailMessage` class](/el/2.1/topics/email/#the-emailmessage-class)
  - [Email backends](/el/2.1/topics/email/#email-backends)
  - [Configuring email for development](/el/2.1/topics/email/#configuring-email-for-development)
- [Internationalization and localization](/el/2.1/topics/i18n/)

  - [Overview](/el/2.1/topics/i18n/#overview)
  - [Definitions](/el/2.1/topics/i18n/#definitions)
- [Logging](/el/2.1/topics/logging/)

  - [A quick logging primer](/el/2.1/topics/logging/#a-quick-logging-primer)
  - [Using logging](/el/2.1/topics/logging/#using-logging)
  - [Configuring logging](/el/2.1/topics/logging/#configuring-logging)
  - [Django’s logging extensions](/el/2.1/topics/logging/#django-s-logging-extensions)
  - [Django’s default logging configuration](/el/2.1/topics/logging/#django-s-default-logging-configuration)
- [Pagination](/el/2.1/topics/pagination/)

  - [Example](/el/2.1/topics/pagination/#example)
  - [Using `Paginator` in a view](/el/2.1/topics/pagination/#using-paginator-in-a-view)
  - [`Paginator` objects](/el/2.1/topics/pagination/#paginator-objects)
  - [`InvalidPage` exceptions](/el/2.1/topics/pagination/#invalidpage-exceptions)
  - [`Page` objects](/el/2.1/topics/pagination/#page-objects)
- [Security in Django](/el/2.1/topics/security/)

  - [Cross site scripting (XSS) protection](/el/2.1/topics/security/#cross-site-scripting-xss-protection)
  - [Cross site request forgery (CSRF) protection](/el/2.1/topics/security/#cross-site-request-forgery-csrf-protection)
  - [SQL injection protection](/el/2.1/topics/security/#sql-injection-protection)
  - [Clickjacking protection](/el/2.1/topics/security/#clickjacking-protection)
  - [SSL/HTTPS](/el/2.1/topics/security/#ssl-https)
  - [Host header validation](/el/2.1/topics/security/#host-header-validation)
  - [Session security](/el/2.1/topics/security/#session-security)
  - [User-uploaded content](/el/2.1/topics/security/#user-uploaded-content)
  - [Additional security topics](/el/2.1/topics/security/#additional-security-topics)
- [Performance and optimization](/el/2.1/topics/performance/)

  - [Introduction](/el/2.1/topics/performance/#introduction)
  - [General approaches](/el/2.1/topics/performance/#general-approaches)
  - [Caching](/el/2.1/topics/performance/#caching)
  - [Understanding laziness](/el/2.1/topics/performance/#understanding-laziness)
  - [Databases](/el/2.1/topics/performance/#databases)
  - [HTTP performance](/el/2.1/topics/performance/#http-performance)
  - [Template performance](/el/2.1/topics/performance/#template-performance)
  - [Using different versions of available software](/el/2.1/topics/performance/#using-different-versions-of-available-software)
- [Serializing Django objects](/el/2.1/topics/serialization/)

  - [Serializing data](/el/2.1/topics/serialization/#serializing-data)
  - [Deserializing data](/el/2.1/topics/serialization/#deserializing-data)
  - [Serialization formats](/el/2.1/topics/serialization/#serialization-formats)
  - [Natural keys](/el/2.1/topics/serialization/#natural-keys)
- [Django settings](/el/2.1/topics/settings/)

  - [The basics](/el/2.1/topics/settings/#the-basics)
  - [Designating the settings](/el/2.1/topics/settings/#designating-the-settings)
  - [Default settings](/el/2.1/topics/settings/#default-settings)
  - [Using settings in Python code](/el/2.1/topics/settings/#using-settings-in-python-code)
  - [Altering settings at runtime](/el/2.1/topics/settings/#altering-settings-at-runtime)
  - [Security](/el/2.1/topics/settings/#security)
  - [Available settings](/el/2.1/topics/settings/#available-settings)
  - [Creating your own settings](/el/2.1/topics/settings/#creating-your-own-settings)
  - [Using settings without setting `DJANGO_SETTINGS_MODULE`](/el/2.1/topics/settings/#using-settings-without-setting-django-settings-module)
- [Signals](/el/2.1/topics/signals/)

  - [Listening to signals](/el/2.1/topics/signals/#listening-to-signals)
  - [Defining and sending signals](/el/2.1/topics/signals/#defining-and-sending-signals)
  - [Disconnecting signals](/el/2.1/topics/signals/#disconnecting-signals)
- [System check framework](/el/2.1/topics/checks/)

  - [Writing your own checks](/el/2.1/topics/checks/#writing-your-own-checks)
- [External packages](/el/2.1/topics/external-packages/)

  - [Localflavor](/el/2.1/topics/external-packages/#localflavor)
  - [Comments](/el/2.1/topics/external-packages/#comments)
  - [Formtools](/el/2.1/topics/external-packages/#formtools)
