Ho eseguito l'aggiornamento a una nuova installazione di Django 1.8 e ho iniziato a utilizzare Jinja2 perché diceva che ora era supportato e Jinja2 ha alcune funzionalità che potrei usare nel mio progetto.Django 1.8 con Jinja2: app di contributo Admin non funzionante
Dopo aver completato l'adattamento dei modelli per la mia app a Jinja2 e sfruttando le nuove funzionalità ora disponibili, ho scoperto che l'app contrib non ha più funzionato.
"TemplateDoesNotExist a/admin/login /"
Così si scopre che contrib app Amministratore soltanto ha fatto per i modelli DjangoTemplates e non per Jinja2. Ho fatto la cosa più ingenua e ho creato un link simbolico nello templates
da templates
a jinja2
ma i modelli utilizzavano specifiche di DjangoTemplates e quindi Jinja2 non li accettava. Ho rimosso il collegamento simbolico.
Il modo in cui ho passa ad Jinja2 è facendo la seguente modifica nel mio progetto settings.py
:
TEMPLATES = [
{
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [],
'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',
- ],
- },
},
]
Qualcuno sa di uno:
- Come lasciare che l'amministrazione contrib app mantenere utilizzando DjangoTemplates mentre la mia app utilizza Jinja2 o
- Se esiste un'altra app di amministrazione valida come quella predefinita che supporta Jinja2 o
- Se c'è qualcos'altro che ho trascurato o dovrebbe essere a conoscenza?
Grazie per il vostro tempo :)
Ho seguito principalmente il tuo suggerimento e ha funzionato bene. La cosa che ho fatto è stata che ho messo Jinja2 prima di DjangoTemplates invece che dopo il normale funzionamento, è il motore di template che sarà più spesso corretto e inoltre, invece di fornire DIRS come nell'esempio, li ho lasciati ai loro valori predefiniti (liste vuote) e includeva alcune altre impostazioni predefinite. –