我如何将Primery键传递给URL,以编辑有关对象的信息



我有一个称为porumbei的模型,我想对编辑这些对象进行编辑。根据我对django的低知识,我该如何编写此视图将primery键传递到URL?我希望的URL应该看起来像/porumbei/editare/pk/我的观点:

def editareporumbei(request, pk):
    porumbel = get_object_or_404(Porumbei, pk=pk)
    if request.method == "POST":
    form = AdaugaPorumbel(request.POST, instance=porumbel)
    if form.is_valid():
        form.save()
        return redirect("dashboard")
    else:
    form = AdaugaPorumbel(instance=porumbel)
    context = {
        'form' : form,
    }
    template = loader.get_template("editare_porumbei.html")
    return HttpResponse(template.render(context, request))
#Link in the template. The template shows all Porumbei in the database
    <td>
        <a href="{% url 'editareporumbei' pk=porumbel.pk %}" class="mr-15" data-toggle="tooltip" data-original-title="Editează"> <i class="icon-pencil"></i> </a>
    </td>
# My url
    path('porumbei/editare/(?P<pk>d+)/', views.editareporumbei, name='editareporumbei'),

与关键字参数'{'pk':''}'的" editareporumbei"的反向 成立。尝试1个模式:['porumbei/editare/(?p [0-9] (/$']

如果我直接访问porumbei/editare/5,它将显示用于编辑数据的表格,但我想在单击按钮时将我带到页面。该按钮在列出所有porumbei的页面中。

路径不正确。尝试:

path('porumbei/editare/<int:pk>/', views.editareporumbei, name='editareporumbei'),

或:

re_path('porumbei/editare/(?P<pk>d+)/', views.editareporumbei, name='editareporumbei'),

最新更新