Decorators de autenticação
Encontrados no pacote "django.contrib.auth.decorators".
user_passes_test
É útil para definir a lógica para permitir um usuário acessar a uma view. Este decorator recebe uma função (que pode ser um objeto lambda) que retorna True ou False para permitir o acesso de um usuário a uma view.
login_required
A view que usa este decorator só pode ser acessada se houver um usuário autenticado.
permission_required
A view que usa este decorator só pode ser acessada se houver um usuário autenticado e ele deve ser super-usuário ou ter a permissão indicada no argumento do decorator.
Decorators do Admin
Há apenas um, encontrado no pacote "django.contrib.admin.views.decorators".
staff_member_required
A view que usa este decorator só pode ser acessada se houver um usuário autenticado e ele deve ser super-usuário ou ser membro do staff.
Decorators de transações de banco de dados
Decorators úteis para usar recursos de transações no banco de dados. São encontrados no pacote "django.db.transaction".
autocommit
Determina que na view que usa este decorator, todas as persistências em banco de dados são feitas no modo "auto-commit", ou seja, no mesmo instante em que são executadas.
commit_on_success
Determina que todas as persistências feitas ao longo da view devem ser aplicadas no banco de dados somente ao seu final, caso nenhum erro ocorrer.
commit_manually
Determina que as persistências feitas ao longo da view serão aplicadas manualmente em código, usando os métodos "commit()" e "rollback()" do pacote "django.db.transaction"
Decorators para métodos de classes de modelo
Há apenas um, encontrado no pacote "django.db.models".
permalink
Este decorator facilita a criação de métodos em classes de modelo para retornar URLs.
Decorators para template filters
Há apenas um, encontrado no pacote "django.templates.defaultfilters".
stringfilter
Este decorator facilita a criação de template filters para obrigar que estes recebam somente valores em formato Unicode.
Decorators de cache
Encontrados no pacote "django.views.decorators.cache".
cache_page
Determina que o resultado da view deve ser armazenado em cache e determina o tempo de expiração para tal.
cache_control
Atribui diversos parâmetros para o cache da view.
never_cache
Determina que as URLs derivadas desta view nunca devem usar o cache para armazenar ou retornar resultados.
Decorators de variação de cabeçalho HTTP
Encontrados no pacote "django.views.decorators.vary".
vary_on_headers
Determina um parâmetro do cabeçalho HTTP para "variar" o cache local das URLs desta view.
vary_on_cookie
Trata-se de uma variação do "vary_on_cookie" com uma aplicação comum: a variação dependendo da composição dos cookies.
Decorators de compactação GZip
Há apenas um, encontrado no pacote "django.views.decorators.gzip".
gzip_page
Determina que o resultado da view deve ser compactado usando GZip.
Decorators de métodos HTTP
Encontrados no pacote "django.views.decorators.http".
require_http_methods
Estabelece uma lista de métodos HTTP aceitos na view. Métodos HTTP podem ser "GET", "POST", "PUT", "HEAD", "DELETE", "TRACE", "OPTIONS", "CONNECT".
require_GET
Trata-se do decorator "require_http_methods" aplicado a aceitar somente método "GET".
require_POST
Trata-se do decorator "require_http_methods" aplicado a aceitar somente método "POST".