Così mi sono occupato dell'aggiornamento alla nuova versione di Django (1.8). Sono attualmente in versione 1.7 e sto facendo fatica a far sì che il mio server di produzione ascolti le nuove impostazioni in 1.8.Aggiornamento delle impostazioni del modello Django dalla versione 1.7 alla 1.8
A partire dal 1,8, qualsiasi TEMPLATE_*
impostazioni sono stati deprecati in base alla documentation ed è stato sostituito con l'impostazione TEMPLATES
.
Sto provando a continuare come ero, ma desidero passare alle nuove impostazioni prima che la timeline della deprecazione termini.
Nei miei 1.7 impostazioni ho avuto solo due delle vecchie impostazioni che sono ora obsoleti come segue:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS
TEMPLATE_CONTEXT_PROCESSORS += ("django.core.context_processors.request",)
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Nelle nuove impostazioni 1,8 ho ottenuto il seguente:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this
# list if you haven't customized them:
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.request',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Tuttavia, quando utilizzo queste impostazioni, il mio server di produzione non è in grado di individuare i file modello, tuttavia il mio locale funziona perfettamente.
MODIFICA: Risulta mancante l'impostazione APP_DIRS
che stava causando il caos con openshift. Ho tutti i miei modelli in una directory, non nelle directory delle applicazioni, ma questo sembrava risolvere il problema.
la tua versione di django del server è giusta? e la directory dei modelli del server è giusta? – skymoney
Il server sta eseguendo django 1.8 la stessa identica versione del mio locale. La directory è la stessa anche perché è un repository che carico direttamente. –
Hai un traceback completo? Potrebbe elencare il modello di modelli che non è riuscito a trovare e le directory che ha cercato. In secondo luogo, non hai impostato "APP_DIRS: True" nelle tue impostazioni. Ciò potrebbe causare problemi se utilizzi qualsiasi app fornita con i modelli (ad esempio l'amministratore). – Alasdair