Ошибка Django при создании веб-приложения для блога
urls.py
path("blogpost/<int:id>", views.blogpost, name="blogpost)
views.py
def blogpost(request, id):
post = Blog1.objects.filter(post_id = id)[0]
return render(request, 'blogpost.html', {'post':post})
У меня возникает ошибка, что объект Blog1 является итерируемым.
Я попробовал
все, и моя модель была создана также для blog1, и первичный ключ имеет проблемы в post_id, но я не знаю, почему я получаю эту ошибку о том, что объект является iterabl. Есть идеи?Я думаю, ты хочешь это...?
def blogpost(request, id):
post = Blog1.objects.get(id=id)
return render(request, 'blogpost.html', {'post':post})
При попытке импортировать один объект полезно использовать функцию get_object_or_404.
from django.shortcuts import get_object_or_404
from .models import Blog1
def blogpost(request, id):
post = get_object_or_404(Blog1, id=id)
return render(request, 'blogpost.html', {'post':post})
Когда вы пытаетесь объявить один объект, всегда используйте get_object_or_404 в django.
from django.shortcuts import get_object_or_404 from .models import Blog1
def blogpost(request, id): post = get_object_or_404(Blog1, id=id) return render(request, 'blogpost.html', {'post':post})
Это сработало для меня и полезно для других.