我的Django模板中有一个'for循环',显示所有待售条目,我想卖家(假设他们已登录),如果他们选择,可以删除每个条目。我不明白如何完成这一部分。我知道如何在Python中删除对象。
Entry.objects.filter(name="toaster").delete()
但我不明白如何从模板中链接或调用它。
我想做什么,如果可能的话,在我的模板中是这样的。
{% for entry in latest_entries %}
entry.name <a href="{{ entry.delete() }}">delete</a>
entry.price
entry.picture
entry.sellername
{% endfor %}
显然这已经被打破了,并且不起作用,但是如果可行的话,我想应用相同的逻辑。
我可以在不添加任何其他网址格式的情况下完成此操作吗 有没有什么方法可以让最终用户能够在不使用Ajax的情况下删除项目,并且无需添加URL模式(例如我不想删除/ entryname,我希望最终用户能够直接删除项目来自latest_entries页面)?
我觉得要么有一些非常基本的东西,我在这里不理解,或者这比我想象的要复杂。
答案 0 :(得分:1)
你必须调用该函数来删除条目。您可以使用ajax调用它或将用户发送到特权用户可访问的特定URL,然后将其返回。在这种情况下,我将在条目附近创建带有复选框的表单。然后用户可以选择条目并提交表单。没有其他办法。