Aggiungi a impostazione.py
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Domanda
sto leggendo http://www.djangobook.com/en/2.0/chapter04.html Il che segue Django 1.4 ma uso Django 1.6, quindi come impostare la directory modello in Django 1.6 come impostazione.py non ha la variabile template_dirs e perché gli sviluppatori lo hanno cambiato? Grazie in anticipo.
Soluzione
Aggiungi a impostazione.py
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Altri suggerimenti
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Aggiungi questo a settings.py
. In Django 1.6 BASE_DIR
è definito. Altrimenti definisci BASE_DIR
come
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
Secondo il tutorial di Django, dovresti aggiungereTEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]
alla tua impostazioni file (quindi è un list
non a tuple
)
Dovrebbe essere
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Oppure potresti vedere un errore come questo:
DeprecationWarning: l'impostazione Template_Dirs deve essere una tupla. Si prega di correggere le impostazioni, poiché la correzione automatica è ora deprecata.
self._wrapped = impostazioni (impostazioni_module)
Per django> = 1.6 è a tuple
Utilizzare lo snippet di codice indicato di seguito. Incollalo nell'ultimo file di impostazioni.
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Qui BASE_DIR
Significa la directory del progetto, non la directory interiore in cui risiede le impostazioni. Creare una directory denominata "modelli" (senza citazioni) all'interno del BASE_DIR
e memorizza i tuoi modelli all'interno di quella directory. Django si unirà alla directory dei modelli al BASE_DIR
usando os.path.join()
funzione. Spero che sia di aiuto.
Come ho postato https://stackoverflow.com/a/40145444/6333418 Devi aggiungerlo all'elenco DIR che si trova all'interno di Impostazioni in modelli.
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',
],
},
},
]