Возможно ли перенаправление на другую страницу с id предыдущей страницы?

enter image description here

Как вы можете видеть, на странице у меня есть название магазина и его адрес. Более того, у меня есть функция редактирования на views.py:

def update_shop(request, id):
    context = {}

# * fetch the object related to passed id
    obj_shop = get_object_or_404(VideoLibrary, id=id)


# * pass the object as instance in form
    form_shop = VideoLibraryForm(request.POST or None, instance=obj_shop)


# * save the data from the form and
# * redirect to detail_view

    if form_shop.is_valid():
        form_shop.save()
        return HttpResponseRedirect('/main/')

    context['form_shop'] = form_shop

    return render(request, 'update/update_shop.html', context)

urls.py:

...
path('list_view/', views.list_view, name='list_view'),
path('shop/<id>/update', views.update_shop, name='update_shop'),

Изображение находится на другой странице ('lilst_view') и проблема в том, что мне нужно разместить кнопку на этой странице и перенаправить на страницу обновления, чтобы, например, отредактировать названия некоторых магазинов. Для этого, как я предполагаю, мне нужно каким-то образом получить id объекта. Кто-нибудь знает, как это сделать?

в этом случае вы можете сделать это в Django, просто используя метод redirect() с параметрами, например

return redirect('some-view-name', parameter_name='par_value')

и в теге a поместить <a href={% url 'view_name' desired_id %}

#list_view.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div class="main">
      {% for data in library_dataset %} 
      Shop name:
      <br />
      <br />
      {{ data.shop_name }} <br />
      {{ data.adress }} <br />
      <td><a href="{% url 'update_shop' data.id  %}">
    <button type="button" class="btn btn-primary">Edit Shop Details</button>
    </a>
</td>

      {% endfor %}
    </div>
  </body>
</html>
Вернуться на верх