视图music.views.detail没有返回HttpResponse对象。它返回无不是

问题描述:

我VIEW.PY文件是:视图music.views.detail没有返回HttpResponse对象。它返回无不是

from django.http import Http404 
from django.shortcuts import render 
from .models import Album 

def index(request): 
all_albums = Album.objects.all() 
return render(request, 'music/index.html', {'all_albums': all_albums}) 
def detail(request, album_id): 
try: 
    album = Album.objects.get(pk=album_id) 
except Album.DoesNotExist: 
    raise Http404("Album does not exist") 
    return render(request, 'music/detail.html', {'album': album})' 

DETAIL.HTML文件是:

{{ album }} 

我得到错误:

The view music.views.detail didn't return an HttpResponse object. It returned None instead

+1

请正确缩进的代码,以便意思很明显 – kdopen

+0

缩进我的代码需要和错误被删除 –

+0

无正确的缩进,这个问题可以关闭为“不清楚”或“无MCVE”。 – halfer

Unident return语句等等它位于except区块之外。

try: 
    album = Album.objects.get(pk=album_id) 
except Album.DoesNotExist: 
    raise Http404("Album does not exist") 
return render(request, 'music/index.html', {'album': album}) 

请注意,您可以通过使用get_object_or_404快捷略微简化您的观点:

from django.shortcuts import render, get_object_or_404 

def detail(request, album_id): 
    album = get_object_or_404(Album, pk=album_id) 
    return render(request, 'music/index.html', {'album': album})'