Не удается удалить объект в delete_view, в Django

#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. Это работает идеально! Спасибо, вы решили это