【发布时间】:2021-08-18 16:45:58
【问题描述】:
我知道以前有人问过类似的问题,但我没能得到它。这是我作为 Django 初学者的第一个项目。
在我的 Django 博客应用程序中,我创建了一个删除按钮,但它不起作用,我正在寻找答案,在网络上尝试不同的方法但没有帮助。
我正在尝试做的是当管理员打开帖子时,然后单击删除按钮,它会获取帖子 ID 并删除该帖子并重定向到主页,但它没有按预期工作。所以,最后我来到了这里。任何帮助将不胜感激。谢谢!
这是我的 urls.py 文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('post/<int:pk>', views.post, name='post'),
path('about', views.about, name='about'),
path('contact_us', views.contact_us, name='contact_us'),
path('register', views.register, name='register'),
path('login', views.login, name='login'),
path('logout', views.logout, name='logout'),
path('create_post', views.create_post, name='create_post'),
path('delete_post', views.delete_post, name='delete_post')
]
这是我的views.py文件:
def delete_post(request, *args, **kwargs):
pk = kwargs.get('pk')
post = get_object_or_404(Post, pk=pk)
if request.method == 'POST':
post.delete()
return redirect('/')
return render(request, 'delete-post.html')
这是删除后的 html 表单:
<form action="{% url 'delete_post' post.id %}" method="post">
{% csrf_token %}
<input type="submit" value="Delete post">
</form>
删除按钮:
<a href="delete_post"><button type="button" class="btn btn-danger" style="position:relative; right: -1145px;">Delete</button></a>
【问题讨论】: