视图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
答
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})'
请正确缩进的代码,以便意思很明显 – kdopen
缩进我的代码需要和错误被删除 –
无正确的缩进,这个问题可以关闭为“不清楚”或“无MCVE”。 – halfer