2017-06-23 36 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

喜亞姆新Django和麪對這個問題 代碼的部分是 的問題是,儘管有關證明的有效途徑其猶無形的路徑,在loader.get_template()。 –

+1

模板在哪裏?它在'templates/music/index.html'嗎? – zaidfazil

+0

只是檢查您的index.html所在的更好的方法路徑設置路徑在settings.py文件的template_path – ammy

回答

0

Django默認檢查每個應用程序目錄下的templates子目錄中的模板。因此,您可以將您的模板放在每個應用程序的templates子目錄下。

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

或者,您可以指定目錄Django在何處應該尋找在settings.py的TEMPLATE設定DIRS選擇模板,

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', 
      ], 
     },  
    }, 
]