I am trying to get my posts to delete on the click of a button that pops up on the screen instead of sending the user to a different delete page. The form works but it won't actually delete the posts.
Template
{% block head %}
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/my_posts.css' %}">
<title>Create - My Posts</title>
<script>
function togglePopup(){document.getElementById("popup-1").classList.toggle("active")}
</script>
</head>
{% endblock head %}
{% block content %}
<div class="content_section">
<div class="btn_container">
<a class="new_post" href="{% url 'newpost' %}"><button class="new_post_btn">New Post</button></a>
</div>
<div class="content_section_two">
{% for product in products %}
<div class="post_short_container">
<div class="title_container">
<a href="#" class="post_link">
<div><b>{{ product.title }}</b></div>
</a>
</div>
<div class="right_btns">
<a href="{% url 'editpost' product.id %}" class="edit_link">Edit</a>
<a href="#" class="stats_link">Stats</a>
<div class="ad_btn_container">
<div class="ad_btn">Ad</div>
</div>
<div class="delete_btn_container">
<div class="delete_btn" onclick="togglePopup()">Delete</div>
</div>
</div>
</div>
<div class="delete_prompt_container" id="popup-1" action="{% url 'deletepost' product.pk %}">
<form method="POST">
{% csrf_token %}
<p class="delete_prompt">Are you sure you want to delete this post?</p>
<div class="cancel_delete_container">
<div class="cancel_button" onclick="togglePopup()">Cancel</div>
<input value="Delete" type="submit" name="confirm" class="confirm_delete_button">
</div>
</form>
</div>
{% endfor %}
</div>
</div>
{% endblock content %}
views.py
def deletePost(request, pk):
post = Post.objects.get(id=pk)
if request.method == 'POST':
post.delete()
return HttpResponseRedirect(reverse('myposts'))
urls.py
urlpatterns=[
path('deletepost/<int:pk>', views.deletePost, name='deletepost'),
]
question from:
https://stackoverflow.com/questions/65546523/django-wont-delete-post 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…