Deleting shapefiles
The final piece of functionality we'll need to implement is the Delete shapefile
view. This will let the user delete an entire uploaded shapefile. The process is basically the same as for deleting features; we've already got a Delete hyperlink on the main page, so all we have to do is implement the underlying view.
Go to the editor
application's urls.py
module and add the following entry to the URL pattern list:
url(r'^delete/(?P<shapefile_id>\d+)$', 'delete_shapefile'),
Then edit views.py
and add the following new view function:
def delete_shapefile(request, shapefile_id): try: shapefile = Shapefile.objects.get(id=shapefile_id) except Shapefile.DoesNotExist: return HttpResponseNotFound() if request.method == "GET": return render(request, "delete_shapefile.html", {'shapefile' : shapefile}) elif request.method == "POST": if request.POST['confirm'] == "1": shapefile.delete() return HttpResponseRedirect("/editor")
Notice...