Python. Не могу разобраться как правильно получить id во вью-функции
Есть список словарей:
posts = [
{
'id': 0,
'location': 'Остров отчаянья',
'date': '30 сентября 1659 года',
'category': 'travel',
'text': '''Наш корабль, застигнутый в открытом море
страшным штормом, потерпел крушение.
Весь экипаж, кроме меня, утонул; я же,
несчастный Робинзон Крузо, был выброшен
полумёртвым на берег этого проклятого острова,
который назвал островом Отчаяния.''',
},
{
'id': 1,
'location': 'Остров отчаянья',
'date': '1 октября 1659 года',
'category': 'not-my-day',
'text': '''Проснувшись поутру, я увидел, что наш корабль сняло
с мели приливом и пригнало гораздо ближе к берегу.
Это подало мне надежду, что, когда ветер стихнет,
мне удастся добраться до корабля и запастись едой и
другими необходимыми вещами. Я немного приободрился,
хотя печаль о погибших товарищах не покидала меня.
Мне всё думалось, что, останься мы на корабле, мы
непременно спаслись бы. Теперь из его обломков мы могли бы
построить баркас, на котором и выбрались бы из этого
гиблого места.''',
},
]
В данной функции некорректно взят пост по id
, нужно пройти по всему списку и найти нужный пост:
def post_detail(request, id):
template = 'blog/detail.html'
try:
posts[id]
context = {'post': posts[id]}
except IndexError:
raise Http404("Post not found")
return render(request, template, context)