"Page not found" mimo istnienia obiektu o zadanym id w metodzie get_object_or_404

0

Witam,

problem wydaje sie być banalny, jednak od wczoraj główkuję bezskutecznie nad jego rozwiązaniem.

Wygląda to tak:
chciałbym po dodaniu zdjęcia do bazy przekierować aplikację do widoku wyświetlajacego to zdjęcie.

url wygląda tak:
url(r'^photo_detail/(?P<id>[0-9])+/$', views.photo_detail, name='photo_detail')

widok dodający zdjęcie do bazy tak:

@csrf_exempt
def add_photo(request):
	if request.method == 'POST':
		form = AddPhoto(request.POST, request.FILES)
		if form.is_valid():
			form.save()
			return redirect('photo_detail', id=form.id)
		else:
			return redirect('add_photo')
	else:
		form = AddPhoto()
	return render(request, 'add_photo.html', {})

a widok mający wyświetlić zdjęcie - tak:

def photo_detail(request, id):
	photo = get_object_or_404(Photo, id=id)
	return render(request, 'photo_detail.html', {'photo': photo})

Problem polega na tym, że za każdym razem wyświetla się komunikat "Page not found (404)" mówiący o tym, że nie znaleziono egzemplarza obiektu o zadanym "id". Szkopuł jednak w tym, że egzemplarz o o "id" przekazywanym z widoku "add_photo" do "photo_detail" istnieje (co łatwo można sprawdzić ręcznie w konsoli), dodatkowo po wpisaniu "na sztywno" w widoku "photo_detail" parametru "id" strona wyświetla się poprawnie.

Przykładowy url z okna przeglądarki wygląda tak:
"http://127.0.0.1:8000/twelvemonths/photo_detail/71/". Wyświetla się "Page not found (404)", a zarazem obiekt w bazie o "id" 71 istnieje ;/

1

W url posiadasz literowkę:

url(r'^photo_detail/(?P<id>[0-9]+)/$', views.photo_detail, name='photo_detail')
0

Dzięki wielkie!!!

Aż wstyd, że nie znalazłem tego samodzielnie, choć szukałem pod kątem literówek wiele razy ;/

1 użytkowników online, w tym zalogowanych: 0, gości: 1