django 如何访问模板标签中的主键

ctehm74n  于 2022-11-26  发布在  Go
关注(0)|答案(1)|浏览(122)

我试图创建一个允许用户更新其数据的更新视图。我试图使用主键访问数据。问题是我不知道实现它的语法。
views.py

def updatedetails(request, pk):
    detail = Detail.objects.get(id=pk)
    form = Details(instance=detail)
    if request.method == "POST":
        form = Details(request.POST, instance=detail)
        if form.is_valid():
            form.save()
            return redirect(success)
    return render(request, "details.html", {"form":form})

urls.py

from django.urls import path

from . import views

urlpatterns = [
    path("details/", views.details, name="details"),
    path("success/", views.success, name="success"),
    path("edit/<str:pk>/", views.updatedetails, name="updatedetails"),
]

我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>Success</title>
</head>
<body>
    <h1>Thank You for Filling Out the Form</h1>
    <p><a href="/edit/{{request.detail.id}}/">Click Here To Edit</a></p>
</body>
</html>

因此,我想弄清楚的是如何调用模板中的主键。

jjhzyzn0

jjhzyzn01#

尝试使用

href="{% url 'updatedetails' pk=request.detail.id %}"

让我知道这是否有效。这将查找位于urlpatterns中的路径名updatedetails,并提供id作为密钥。我在这方面也有点新手,所以我希望这能有所帮助,并且是正确的。

相关问题