how to delete an image using django?

前端 未结 2 1960
闹比i
闹比i 2021-01-26 19:07

I want to know how to add a delete button in my form for deleting an image.

The project is a simple \"Pics viewer\", the index shows all the images that are stored but I

相关标签:
2条回答
  • 2021-01-26 19:39

    urls.py

    [.........]
    url(
       r'^delete-image/(?P<id>\d+)/$', 
       'delete_image', 
       name="delete_image"
    ),
    [.........]
    

    views.py

    def delete_image(request, id):
        image = Image.objects.get(pk=id).delete()
        return HttpResponseRedirect(reverse('app_name:url_name'))
    

    template

    <ul>
        {% for image in images_list %}
        <li>
            <img src="/{{ image.image }}" height="75" /> 
            <a href="{% url app_name:delete_image image.id %}">Delete</a>
        </li>
        {% endfor %}
    </ul>
    
    0 讨论(0)
  • 2021-01-26 19:51

    views.py

    from django.views.generic.edit import DeleteView
    from django.core.urlresolvers import reverse_lazy
    from myapp.models import Image
    
    class ImageDelete(DeleteView):
        model = Image
        success_url = reverse_lazy('index')
    

    urls.py

    from myapp.views import index, ImageDelete
    
    ...
    url(r'^image/(?P<id>\d+)/delete/$', ImageDelete.as_view(), name="image-delete"),
    ...
    

    index.html

    {% for image in images_list %}
        <li>
            <img src="/{{ image.image }}" height="75" />
            <a href="{% url 'myapp:image-delete' image.id %}">Delete</a>
        </li>
    {% endfor %}
    
    0 讨论(0)
提交回复
热议问题