我想在Django中删除一个对象,但是其他的堆栈溢出问题都不能解决我的问题。我看了看this one,但是它似乎不起作用。我的删除对象代码(在视图文件中)看起来像这样:
@login_required
def delete_entry(request, entry_id):
"""Delete an existing entry."""
if request.method != 'POST':
# No data submitted; create a blank form.
form = TopicForm()
else:
# POST data submitted; process data.
form = TopicForm(data=request.POST)
if form.is_valid():
new_topic = form.delete(commit=False) ### code to delete object
new_topic.owner = request.user
new_topic.save()
return redirect('learning_logs:topics')
# Display a blank or invalid form.
context = {'topic': topic, 'form': form}
return render(request, 'learning_logs/new_entry.html', context)
而在URLs.py:
path('delete_entry/<int:entry_id>', views.delete_entry, name='delete_entry'),
我想使用Bootstrap4按钮(在模态中)来删除条目,(所以没有任何重定向到另一个确认页面)。Image.不幸的是,这是行不通的。我只是得到一个服务器错误说NoReverseMatch at /delete_entry/6
。有人能告诉我这是什么意思吗?
1条答案
按热度按时间5kgi1eie1#
看起来你试图在窗体上调用delete方法,如果你想删除对象你应该在对象上调用它:
这里是Django的相关文档。编辑:我认为您正在寻找DeleteView