Pregunta

Estoy leyendo http://www.djangobook.com/en/2.0/chapter04.html Lo que sigue a Django 1.4 pero uso Django 1.6, entonces, ¿cómo establecer el directorio de plantilla en Django 1.6 como settings.py no tiene una variable Template_dirs y por qué los desarrolladores cambiaron esto? Gracias por adelantado.

¿Fue útil?

Solución

Agregar a settings.py

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

Otros consejos

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

Agregue esto a settings.py. En Django 1.6 BASE_DIR se define. De lo contrario, definir BASE_DIR como

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

Según el tutorial de Django, debes agregarTEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]para usted settings.py archivo (por lo que es un list No un tuple)

Debería ser

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

O puede ver un error como este:

DeprecationWarning: la configuración de plantilla_dirs debe ser una tupla. Arregle su configuración, ya que la corrección automática ahora está en desuso.
self._wrapped = settings (settings_module)

Para django> = 1.6 es un tuple

Use el fragmento de código dado a continuación. Pételo en el último archivo Settings.py.

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

Aquí BASE_DIR significa su directorio de proyecto, no el directorio interno donde reside Settings.py. Crear un directorio llamado "plantillas" (sin citas) dentro del BASE_DIR y almacene sus plantillas dentro de ese directorio. Django se unirá al directorio de plantillas al BASE_DIR usando os.path.join() función. Espero que esto ayude.

Como publiqué https://stackoverflow.com/a/40145444/6333418 Debe agregarlo a la lista Dir que está dentro de Settings.py en plantillas.

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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top