Ich verwende Django DeleteView zum Löschen von Objekten. Zuerst implementierte ich delete add confirm dialog um eine andere html Seite umzuleiten. Jetzt möchte ich Bootbox Pop-up hinzufügen. Aber ich verstehe nicht, wo ich Code hinzufügen soll. Bitte helfenWie verwende ich die Bootbox für Django DeleteView?
models.py
class Review(models.Model):
review_description = models.TextField(max_length=500)
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
book = models.ForeignKey(Book, on_delete=models.CASCADE)
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
views.py
class ReviewDelete(DeleteView):
model = Review
template_name = "confirm_delete.html"
def get_success_url(self, *args, **kwargs):
review = get_object_or_404(Review, pk=self.kwargs['pk'])
return reverse("books:detail", args = (review.book.id,))
confirm_delete.html
{% extends "base.html" %}
{% block content %}
<h1>Delete</h1>
<p>Are you sure you want to delete {{ review }}?</p>
<form action="{% url "delete" pk=review.id %}" method="POST">
{% csrf_token %}
<input type="submit" value="Yes, delete." />
<a href="{% url "books:detail" id=review.book.id %}">No, cancel.</a>
</form>
{% endblock %}
book_details.html
<a href="{% url "delete" pk=review.id %}" class="badge badge-danger">Delete</a>
{# <a href="{% url "delete" pk=review.id %}" class="badge badge-danger">Delete</a>#}
base.html
<script type="text/javascript">
$(document).ready(function() {
$("#review-delete-btn").click(function (event) {
event.preventDefault();
bootbox.confirm({
title: "Destroy planet?",
message: "Do you want to delete? This cannot be undone.",
buttons: {
cancel: {
label: '<i class="fa fa-times"></i> Cancel'
},
confirm: {
label: '<i class="fa fa-check"></i> Confirm'
}
},
callback: function (result) {
console.log('This was logged in the callback: ' + result);
}
});
});
});
</script>
urls.py
url(r'^reviews/(?P<pk>\d+)/delete/$', ReviewDelete.as_view(), name='delete'),
Was möchten Sie im Bootbox-Popup anzeigen? –
Ich möchte nach Bootbox löschen. Ich verstehe nicht, was ich im Bootbox-Bestätigungsblock schreiben soll. Ich möchte löschen, indem ich auf bootbox confirm klicke und keine andere Seite weiterleite. –