Я написал программу для работы с CURD. Для каждой строки данных базы данных есть две кнопки «EDIT» и «DELETE».
Кнопка редактирования работает, когда я даю в шаблоне HTML. но когда я перенаправляюсь на страницу, где отображаются все данные базы данных, вместо обновления существующего значения создается новая строка данных.
view.py
Код: Выделить всё
def EditData(request, id):
a = FormDB.objects.get(id=id)
nameupdate = a.name
form = DjangoForm(request.POST)
if request.method == "POST" and form.is_valid():
newname = form.cleaned_data['name']
b = FormDB.objects.get(id=id)
b.name = newname
b.save()
return render(request, "editform.html", {'nameupdate' : nameupdate})
def ViewDBData(request):
editeddb = list(FormDB.objects.all().values())
return HttpResponseRedirect('/viewdb/')
Код: Выделить всё
EDIT PAGE
{% csrf_token %}
{% if nameupdate %}
Enter new name:
{% endif %}
Код: Выделить всё
urlpatterns = [
...........
..........
path('viewdb/', ViewDBData),
Итак, когда я нажимаю «Отправить изменения», происходит перенаправление на страницу, где все данные базы данных отображаются с обновленным значением.
Подробнее здесь: https://stackoverflow.com/questions/791 ... l-template
Мобильная версия