0

Je la structure de répertoire suivant dans mon django 10 projet:django remplacement d'administration ne travaille pas sur la production locale

/my-project/ # project dir 
    +app1 
    +templates 
     +admin 
      base.html 
     404.html 
     500.html 

Mes modèles attribut ressemble à ceci dans les paramètres:

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [ 
      'templates/', 
     ], 
     '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', 
       'common.context_processors.site_info', 
      ], 
     }, 
    }, 
] 

Ma base personnalisée. html s'affiche sur ma machine locale. Lorsque je télécharge cela sur mon serveur de production, il ne remplace plus et utilise le fichier base.html dans le dossier du projet.

J'ai changé autour de l'ordre des applications suggérées here et essayé d'imprimer l'élément dirs de l'attribut templates qui imprime "templates /" comme here.

Est-ce que quelqu'un sait comment je peux faire fonctionner ceci dans mon environnement de production?

Répondre

1

Vous devez utiliser le chemin absolu dans vos paramètres pour éviter les problèmes. Par exemple:

import os 

PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..', '..') 
# depending where your settings.py live 

... 
    'DIRS': [ 
     os.path.join(PROJECT_ROOT, 'templates'), 
    ],