2015-09-07 17 views
31

Quando uso runserver, dà questo messaggio di avviso:Django app funziona bene, ma ottenere un TEMPLATE_ * messaggio di avviso

(1_8.W001) Il TEMPLATE_ standalone * impostazioni sono state deprecato in Django 1.8 e la Il dizionario TEMPLATES ha la precedenza. È necessario inserire i valori delle seguenti impostazioni nel formato predefinito TEMPLATES: TEMPLATE_DEBUG.

Disse il documentazione Django:

"TEMPLATE_DEBUG Sconsigliata a partire da versione 1.8:. Impostare l'opzione 'debug' nelle opzioni di un backend DjangoTemplates invece"

Ecco il mio settings.py con i miei vani tentativi di risolvere il problema:

DEBUG = True 

TEMPLATE_DEBUG = DEBUG 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'myapp/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', 
      ], 
      'debug': DEBUG, 
      'DEBUG': DEBUG, 
      'TEMPLATE_DEBUG': DEBUG 
     }, 
    }, ] 

Che cosa mi manca qui?

+1

È solo un messaggio. Si consiglia di non utilizzare TEMPLATE_DEBUG. – Gocht

+0

@Gocht Grazie. Qual è il modo corretto per inserire questo valore nel TEMPLATES? Ho appena commentato le righe che ho aggiunto a dict e debug sembra funzionare bene. È davvero necessario aggiungere qualcosa a questo dict? – codingcoding

+1

È necessario se si desidera mantenere aggiornato il proprio codice. @Alasdair ti ha dato una buona risposta. – Gocht

risposta

69

Set debug nel dizionario OPTIONS delle impostazioni dei modelli.

DEBUG = True 

TEMPLATES = [ 
    { 
     ... 
     'OPTIONS': { 
      'debug': DEBUG, 
     }, 
    }, 
] 

Poi rimuovere questa riga dalle impostazioni per fermare le avvertenze

TEMPLATE_DEBUG = DEBUG 

Vedere la Django docs per le istruzioni dettagliate su come aggiornare le impostazioni del modello.

1

Nel mio setting.py in django, non c'è questo script:

TEMPLATE_DEBUG = DEBUG

e

'debug': DEBUG, 'DEBUG': DEBUG, 'TEMPLATE_DEBUG': DEBUG

Forse si può provare a rimuoverli ed eseguirlo nuovamente.

7

Questa è la soluzione migliore:

Modificare questa linea a:

TEMPLATES[0]['OPTIONS']['debug'] = True 

che dovrebbe risolvere l'avvertimento.

L'ho trovato here.

+0

Cambia questa linea in: "MODELLI [0] ['OPZIONI'] ['debug'] = True" in /settings/dev.py –

14

Da settings.py rimuovere tutto questo:

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

Quindi aggiungere 'modelli' qui:

TEMPLATES = [ 
    { 
     ... 
     'DIRS': [here], 
     ... 
      ], 
     }, 
    }, 
] 
+0

grazie, penso che questo dovrebbe essere il modo giusto. – lbsweek

14

rimuovere APP_DIRS e aggiungere i caricatori all'interno dei modelli. esempio:

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'templates')] 
     , 
     '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', 
      ], 
      'loaders': [ 
       'django_jinja.loaders.AppLoader', 
       'django_jinja.loaders.FileSystemLoader', 
      ] 
     }, 
    }, 
]