Pergunta

Django vem com um Lista de middleware interno, mas se alguém quiser usar todos (ou a maioria) deles, ele terá que trabalhar com toneladas de documentos para obter a classificação certa no arquivo Settings.py.

Existe uma ordem padrão ideal de tudo Aulas de middleware do Django 1.1 embutidas? Ou seja, algo para copiar'n'paste em Settings.py:

MIDDLEWARE_CLASSES = (
  # perfect order here please ;-)
)

Resposta alternativa: Existem várias pedidos possíveis e qual seria a diferença?

A propósito: o pedido é significativo, mas estou ciente de algumas dependências padrão, como sessionMiddleware antes da autenticaçãoMiddleware.

Foi útil?

Solução

Eles têm um Lista padrão Para o middleware do principal django:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

Quaisquer outros que você criar ou obter de terceiros podem ser adicionados no final da tupla acima. O livro de Django também menciona que, em uma solicitação de visualização, a ordem é de CommonMiddleware para AuthenticationMiddleware e finalmente para a sua opinião. Em uma resposta de retorno, a ordem é revertida de AuthenticationMiddleware para CommonMiddleware. Aqui está o Doc para isso.

Em resposta ao comentário:

Depois de vasculhar os ingressos do Django, parece que esse foi um problema de conhecimento com a comunidade do Django Dev e acho que ainda não há uma resposta final. Aqui está o bilhete que contém a discussão junto com a parte em que Jacob a fechou. Você pode querer tentar trazer esse problema novamente como um ticket django para obter uma resposta oficial de desenvolvimento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top