django - 我如何在 django python 中创建删除按钮?
问题描述
我是 Django 新手,我会尽力解决这个问题。所以我尝试在我的模板上创建一个删除按钮。我创建了我的视图并创建了我的 url,但它不起作用。
所以这里是我的观点:
def book_delete(request, pk):
book = get_object_or_404(Book, pk=pk)
if request.method == 'POST':
book.delete()
return redirect('/')
return render(request, "livre/newbook_form.html", {'form': book})
我的网址
from . import views
from django.conf.urls import url
urlpatterns = [
url(r'^livre/(?P<pk>[0-9]+)/$', views.book_delete, name='book_delete')
]
我的模板
<form action="liste" method="POST">{% csrf_token %}
<table>
<th>Titre</th><th>Auteur</th><th>Nombre de pages</th><th>Supprimer</th>
{% for Book in Book %}
<tr>
<td>{{ Book.title }}</td>
<td>{{ Book.author }}</td>
<td>{{ Book.num_pages }}</td>
<td>
<form action="{% url 'book_delete' Book.id %}" method="POST">
{% csrf_token %}
<input type="button" value="{{Book.id}}"/>
</form>
</td>
</tr>
{% endfor %}
</table>
</form>
我不知道为什么它不起作用。你能帮助我吗 ?
解决方案
您需要提交表单,因此使用type="submit"
[dev-mozilla]:
<form action="{% url 'book_delete' Book.id %}" method="POST">
{% csrf_token %}
<input type="submit" value="delete"/>
</form>
推荐阅读
- android - 将预填充的 Sqlite DB 复制到 Android 应用程序数据库文件夹
- excel - Instr with If 语句
- return - 函数输出一个列表但返回 nil
- android - 如何通过wifi wampserver访问android上的localhost?
- api - Hyperwallet API,移除一个用户/一个转账方式
- reactjs - 对象数组无法从 material-ui 在 React 芯片上添加项目
- angular - 将组件匹配到动态组件的字符串
- json - 从 json 文档的文本文件恢复 MongoDB 集合
- r - R 在包本身中调用数据集
- node.js - MongoDB 是否有办法在不删除更新数据中不包含的现有元素的情况下更新文档