我试图创建一个允许用户更新其数据的更新视图。我试图使用主键访问数据。问题是我不知道实现它的语法。
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>
因此,我想弄清楚的是如何调用模板中的主键。
1条答案
按热度按时间jjhzyzn01#
尝试使用
让我知道这是否有效。这将查找位于urlpatterns中的路径名updatedetails,并提供id作为密钥。我在这方面也有点新手,所以我希望这能有所帮助,并且是正确的。