2017-06-23 1 views
1
from django.http import HttpResponse 
from django.template import loader 
from .models import Album 

def index(request): 
    all_albums=Album.objects.all() 
    template= loader.get_template('music/index.html') 
    context= { 
     'all_albums': all_albums, 
    } 
    return HttpResponse(template.render(context,request)) 


def detail(request, album_id): 
    return HttpResponse("<h2>details for album id " + str(album_id) + " 
</h2>") 
+0

salut iam nouveau pour django et face à cette question la partie du code est le problème concerne le chemin, dans loader.get_template() malgré la preuve que le chemin valide est toujours invisible. –

+1

Où réside le modèle? est-ce dans 'templates/music/index.html' ?? – zaidfazil

+0

juste vérifier le chemin où votre index.html réside le mieux est de définir le chemin dans votre fichier settings.py pour template_path – ammy

Répondre

0

Django par chèque par défaut des modèles dans templates sous-répertoire sous tous les répertoires d'application. Ainsi, soit vous pouvez conserver vos modèles sous le sous-répertoire templates dans chaque application.

project 
--app 
    --templates 
    --music 
     --index.html 

Ou, vous pouvez spécifier les répertoires où Django doit rechercher les modèles dans les DIRS options dans le cadre TEMPLATE dans le settings.py,

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': ['here-specify-the-path', 'as-strings'], 
     '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', 
      ], 
     },  
    }, 
]