从Django 1.5中的ListView中删除项目

use*_*982 6 python django templates listview

我有一个ListView和一个DeleteView

class MyDeleteView(DeleteView):
    success_url = reverse('list')
Run Code Online (Sandbox Code Playgroud)

我想要选项删除ListView中的项目.如果我接受DeleteView中的确认页面,我知道怎么做,但我不希望我的DeleteView中没有模板.我只是想删除该项目并将用户发回.

我想它应该是POST参数,但HTML应该是什么样的?我猜它是这样的:

<form method="post" action="/delete/">
    <ul>
        <li>Item1 (<input type="submit" value="Delete" />)</li>
        <li>Item2 (<input type="submit" value="Delete" />)</li>
        <li>Item3 (<input type="submit" value="Delete" />)</li>
    </ul>
</form>
Run Code Online (Sandbox Code Playgroud)

谁能引导我朝着正确的方向前进?谢谢.

Pav*_*sov 0

由于您不需要确认,因此可以覆盖删除视图中的 GET 方法并仅使用链接:

class MyDeleteView(DeleteView):
    success_url = reverse('list')

    def get(self, *a, **kw):
        return self.delete(*a, **kw)
Run Code Online (Sandbox Code Playgroud)
<ul>
    {% for item in object_list %}
        <li>Item1 (<a href="{% url 'mydelete' pk=item.pk %}">Delete</a>)</li>
    {% endif %}
</ul>
Run Code Online (Sandbox Code Playgroud)

  • -1 GET 应该是**[安全](http://www.w3.org/2001/tag/doc/whenToUseGet.html#safe)** (3认同)