#python-3.x #django-forms #django-views
#python-3.x #django-формы #django-просмотры
Вопрос:
Я пытаюсь создать представление удаления для своей формы продукта, моя проблема с кнопкой отправки, она не удаляет мой объект, она просто перенаправляет меня на предыдущую страницу.
Это компьютер с Windows 7, Python 3.7.1, Anaconda 2018.12 Я попытался удалить строку: if request.method == «POST», И без этой строки объект будет удален, поэтому я думаю, что проблема связана с оператором if или методом POST, но не смог ее решить
views.py:
from django.shortcuts import render, get_object_or_404, redirect
from .forms import ProductForm, RawProductForm
from .models import Product
def product_delete_view(request, id):
obj = get_object_or_404(Product, id=id)
if request.method == "POST":
obj.delete()
return redirect('../')
context = {
"object": obj
}
return render(request, "products\product_delete.html", context)
product_delete.html:
{% extends 'base.html' %}
{% block try %}
<form action='.' method='POST'>{% csrf_token %}
<h1>Do you want to delete the product "{{ object.title }}"?</h1>
<p>
<input type="submit" value="Yes" />
<a href="../">Cancel</a>
</p>
</form>
{% endblock %}
Идея заключается в том, что когда я нажимаю «Да», объект исчезает, но вместо этого я перенаправляюсь на страницу фактического объекта, который я хотел удалить
Комментарии:
1. Что произойдет, если вы используете
<form action='.' method='post'>
вместоmethod='POST'
?2. Это работает идеально! Спасибо, вы решили это