Как получить идентификатор изображения с помощью кнопки, чтобы использовать его в views.py?

Я новичок в django и программировании в целом, я пытаюсь создать клон Instagram ... поэтому мой вопрос: как я могу прокомментировать сообщение, которое находится в ленте новостей (список всех загруженных изображений каждым пользователем) , не выходя из ленты новостей?

Итак, мой подход состоит в том, чтобы дать каждой кнопке отправки идентификатор? или имя? и как-то использовать его внутри моего views.py

просмотров.py:

def newsfeed(request):
    images = Image.objects.all().order_by('-pub_date')

    if request.method == 'POST':
        c_form = CommentForm(request.POST)
        if c_form.is_valid():
            new_comment = c_form.save(commit=False)
            new_comment.owner = request.user
            new_comment.image = #here should be something that points to the image i'm commenting on
            c_form.save()
            return redirect('upload_img:newsfeed')

    else:
        c_form = CommentForm()


    context = {'images_temp': images, 'c_form': c_form}
    return render(request, 'newsfeed.html', context)


модели.ру:

class Comment(models.Model):
    owner = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
    image = models.ForeignKey(Image, on_delete=models.CASCADE, default=1)
    text = models.CharField(max_length=225)
    pub_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '%s comments on %s image' % (self.owner, self.image.owner)

лента новостей.html:

{% for image in images_temp %}

<form method = "post" enctype = "multipart/form-data">
    {% csrf_token %}
    {{ c_form|crispy }}
    <button name = "{{ image.image }}" type = "submit" class = "btn btn-primary"><i class = "fas fa-paper-plane"></i></button>
</form>

{% endfor %}

🤔 А знаете ли вы, что...
Python популярен в анализе данных и машинном обучении с помощью библиотеки scikit-learn.


46
1

Ответ:

Вы можете добавить идентификатор к каждому комментарию таким образом, чтобы сделать их уникальными, например, добавив пост pk и количество комментариев в посте, например

POST 6
comment-1
comment-2
comment-3 <-- This comment would have the id P6C3

И после этого в вашей функции перенаправления вы можете просто сделать

redirect(newsfeed + '#' + comment_id)

Это приведет к прокрутке до нового комментария.