Other Coding I did
urls.py of web app path adding:
path('update/updaterecord/<int:id>', views.updaterecord, name='updaterecord'),
views.py file of web app : update coding info:
def updaterecord(request, id):
first = request.POST['first']
last = request.POST['last']
member = Members.objects.get(id=id)
member.firstname = first
member.lastname = last
member.save()
return HttpResponseRedirect(reverse('index'))
CodePudding user response:
Your <form action=""> has a slash at the end, just remove it at it should be good.
The url needs to match what is in your urlpatterns[]:
path('update/updaterecord/int:id', views.updaterecord, name='updaterecord'),
The resulting url will be:
members/update/updaterecord/8
CodePudding user response:
Your action="" is relative to the current URL since it doesn't have a leading slash.
Since you're on /members/update/8, the action URL segment updaterecord/8 turns that to the absolute URL /members/update/updaterecord/8 you're seeing 404.
If you want your form to target the current page (which is correct in this case), just empty it or get rid of it:
<form method="post">
is sufficient in this case.
Beyond that, please look into Django's form modules and generic views; you're currently doing a lot of manual work you don't need to.



