Eine Möglichkeit, es zu tun wäre so etwas wie dies
class UserDeleteView(View):
def post(self, request, object_id, *args, **kwargs):
'''retrieve the object for the given object_id and delete it'''
return redirect(url_to_be_redirected_to)
sein Dies sollte für eine grundlegende Django Ansicht ausreicht. In Ihrer HTML-Vorlage können Sie sagen, Sie haben eine Schaltfläche zum Löschen des Objekts und lassen Sie uns auch sagen, dass es id
Attribut auf deleteButton
gesetzt hat. Sie müssen Javascripting verwenden, um das Löschen zu initiieren. Für zB Ihre Taste ist wie
<a href="delete_url" id="deleteButton">Delete</a>
So können Sie so etwas wie dieses
$("body").on("click", "a#deleteButton", function(event){
event.preventDefault();
var url = $(this).attr("href");
var csrf = fetch_csrf_value_and_assign_here;
$.post(url, {csrfmiddlewaretoken:csrf}, function(response){});
});
PS schreiben: Dies ist ein absolutes Minimum Weise etwas, was Sie tun wollen. Es ist auch nicht der einzige Weg. Aber das sollte Ihnen eine andere Perspektive geben, um zu sehen, was Sie erreichen wollen.
Edit 1: Eine Probe url Config für die Ansicht, die ich vorgelegt habe.
url(r'delete/(?P<object_id>\d+)/$',
views.UserDeleteView.as_view(), name='delete-user')
Dann in Ihrem HTML, können Sie Taste wie
<a href="{% url 'appname:delete-user' object_id_you_want_to_delete %}" id="deleteButton">Delete</a>
Sie müssen id
des Objekts haben, die Sie in Ihrer Vorlage zu löschen, die ich bin sicher, dass Sie das tun.
Anstelle der Überprüfung von user.is_authenticated() kann LoginRequiredMixin verwendet werden. Importieren Sie es von django.contrib.auth.mixins und verwenden Sie es zusammen mit DeleteView wie 'Klasse UserDeleteView (LoginRequiredMixin, DeleteView):' – cutteeth
@ user2853437 Überprüfen Sie dies: [sfm-ui] (https://github.com/gwu- Bibliotheken/sfm-ui/tree/t28-Struktur-Settings-Datei/sfm/ui). Dieser Zweig verfügt über eine grundlegende Skelettstruktur für die Verwendung von klassenbasierten Ansichten. Dies ist etwas, das ich ursprünglich beim Lernen geschaffen habe. Ich hoffe, es ist hilfreich für Sie :) –