Pergunta

estou lendo http://www.djangobook.com/en/2.0/chapter04.html O que segue o Django 1.4, mas eu uso o django 1.6, então como definir o diretório de modelos no Django 1.6 como configuração.py não possui variável model_dirs e por que os desenvolvedores mudaram isso? Desde já, obrigado.

Foi útil?

Solução

Adicionar ao Settings.py

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

Outras dicas

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR,  'templates'),
)

Adicione isso a settings.py. Em Django 1.6 BASE_DIR é definido. Caso contrário, defina BASE_DIR Como

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

De acordo com o tutorial do Django, você deve adicionarTEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]para o seu Settings.py arquivo (então é um list não a tuple)

Deveria ser

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR,  'templates'),
)

Ou você pode ver um erro como este:

Deprecaçãowarning: a configuração do template_dirs deve ser uma tupla. Por favor, corrija suas configurações, pois a correção automática está agora descontinuada.
self._wrapd = Configurações (Settings_module)

Para django> = 1.6 é um tuple

Use o snippet de código abaixo. Cole -o no último arquivo Settings.py.

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

Aqui BASE_DIR significa o diretório do seu projeto, não o diretório interno em que reside. Criar um diretório chamado "modelos" (sem citações) dentro do BASE_DIR e armazene seus modelos dentro desse diretório. Django se juntará ao diretório de modelos para o BASE_DIR usando os.path.join() função. Espero que isto ajude.

Como eu postei https://stackoverflow.com/a/40145444/6333418 Você deve adicioná -lo à lista de dir que está dentro do Settings.Py em Modelos.

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['[project name]/templates'], # Replace with your project name
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top