Django получение идентификатора для обхода списка
Я хочу преобразовать мой список в dict, чтобы иметь мой id, поэтому я пробую это в моих представлениях
def img2(request):
posts = Post.objects.all()
i=[]
for p in posts:
print(p.id)
i.append(p.id)
#post={'id':str(p.id)}
#print(i)
'''def Convert(lst):
res_dct = {str(lst[i]): lst[i] for i in range(0, len(lst), 1)}
return res_dct
# Driver code
d=Convert(i)'''
d = {str(i[k]): i[k] for k in range(0, len(i), 1)}
print(d)
for j in d:
print(j)
return render(request, 'imgg.html', d)
Затем я хочу отобразить каждый идентификатор в html и вот мой html файл:
test
{% for n in d %}
{{n}}
{% endfor %}
Итак... ничего не произошло, и я не знаю, в чем проблема, помогите, пожалуйста, и большое спасибо. в общем у меня есть модель формы post и еще одна для images с foreignkey и я хочу отображать каждый пост с первым изображением uploded так что у меня есть моя база данных с post и images но я никогда не получаю первое изображение для отображения на главной странице тогда я пытаюсь сделать dict со всеми post_id с for я попытаюсь отобразить каждое изображение_post для ее поста если у вас есть другой метод я буду благодарен ^^
вот мой views.py:
from django.shortcuts import render, get_object_or_404
from django.db.models import Count
import posts
from .models import Post, PostImage
def blog_view(request):
posts = Post.objects.all()
return render(request, 'blog.html', {'posts':posts})
def detail_view(request, id):
post = get_object_or_404(Post, id=id)
photos = PostImage.objects.filter(post=post)
return render(request, 'detail.html', {
'post':post,
'photos':photos
})
def create_post_view(request):
if request.method == 'POST':
length = request.POST.get('length')
title = request.POST.get('title')
description = request.POST.get('description')
post = Post.objects.create(
title=title,
description=description
)
for file_num in range(0, int(length)):
PostImage.objects.create(
post=post,
images=request.FILES.get(f'images{file_num}')
)
return render(request, 'create-post.html')
def img(request,id):
img=PostImage.objects.get(id=id)
return render(request, 'img.html', {'img':img})