Ajouter à Settings.py
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Question
je suis en train de lire http://www.djangobook.com/en/2.0/chapter04.html Ce qui suit Django 1.4 mais j'utilise Django 1.6 afin de définir le répertoire de modèle dans Django 1.6 car les paramètres ne dispose pas de variable template_dirs et pourquoi les développeurs ont changé cela? Merci d'avance.
La solution
Ajouter à Settings.py
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Autres conseils
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Ajouter ceci à settings.py
. Dans Django 1.6 BASE_DIR
est défini. Sinon définir BASE_DIR
comme
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
Selon le tutoriel de Django, vous devriez ajouterTEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]
à ton Settings.py fichier (donc c'est un list
pas un tuple
)
Ça devrait être
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Ou vous pourriez voir une erreur comme ceci:
DemROSPATIONWARNING: Le paramètre Template_DIRS doit être un tuple. Veuillez réparer vos paramètres, car la correction automatique est désormais obsolète.
self._wrapy = Paramètres (paramètres_module)
Pour django> = 1.6 c'est un tuple
Utilisez l'extrait de code ci-dessous. Collez-le dans le dernier du fichier Settings.py.
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Ici BASE_DIR
signifie votre répertoire de projet, pas le répertoire intérieur où réside les paramètres.py. Créez un répertoire nommé "modèles" (sans citations) à l'intérieur du BASE_DIR
Et stockez vos modèles à l'intérieur de ce répertoire. Django rejoindra le répertoire des modèles au BASE_DIR
utilisant os.path.join()
fonction. J'espère que cela t'aides.
Comme je l'ai posté https://stackoverflow.com/a/40145444/6333418 Vous devez l'ajouter à la liste DIR qui se trouve à l'intérieur de Settings.py sous des modèles.
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',
],
},
},
]