Domanda

sto leggendo http://www.djangobook.com/en/2.0/chapter04.html Il che segue Django 1.4 ma uso Django 1.6, quindi come impostare la directory modello in Django 1.6 come impostazione.py non ha la variabile template_dirs e perché gli sviluppatori lo hanno cambiato? Grazie in anticipo.

È stato utile?

Soluzione

Aggiungi a impostazione.py

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

Altri suggerimenti

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

Aggiungi questo a settings.py. In Django 1.6 BASE_DIR è definito. Altrimenti definisci BASE_DIR come

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

Secondo il tutorial di Django, dovresti aggiungereTEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]alla tua impostazioni file (quindi è un list non a tuple)

Dovrebbe essere

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

Oppure potresti vedere un errore come questo:

DeprecationWarning: l'impostazione Template_Dirs deve essere una tupla. Si prega di correggere le impostazioni, poiché la correzione automatica è ora deprecata.
self._wrapped = impostazioni (impostazioni_module)

Per django> = 1.6 è a tuple

Utilizzare lo snippet di codice indicato di seguito. Incollalo nell'ultimo file di impostazioni.

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

Qui BASE_DIR Significa la directory del progetto, non la directory interiore in cui risiede le impostazioni. Creare una directory denominata "modelli" (senza citazioni) all'interno del BASE_DIR e memorizza i tuoi modelli all'interno di quella directory. Django si unirà alla directory dei modelli al BASE_DIR usando os.path.join() funzione. Spero che sia di aiuto.

Come ho postato https://stackoverflow.com/a/40145444/6333418 Devi aggiungerlo all'elenco DIR che si trova all'interno di Impostazioni in modelli.

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',
            ],
        },
    },
]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top