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