use*_*631 1 django ajax django-templates django-forms django-views
就我而言,可以从以下实例中删除实例模型:
默认情况下,调用删除视图时:
get函数调用“ confirm_delete”模板。相反,我希望出现一个弹出窗口/模式,如果delete在模式中单击,则会删除该对象如果delete操作在ListView上,则删除后用户将保留在ListView上,并且ListView内容将被更新
如果delete操作在DetailView上,则删除后用户将被重定向到ListView或其他页面(取决于其他规则)
-
所以我想知道如何在删除之前进行Ajax调用,如何在删除中包含条件成功URL,这取决于我在执行操作之前所处的位置。
对于DetailView您,您可以简单地使用如下形式:
<form action="{% url "app:delete" object.id %}" method="post">
{% csrf_token %}
<button onclick="return confirm('Are you sure?');">Delete</button>
</form>
Run Code Online (Sandbox Code Playgroud)
单击该按钮将打开一个确认对话框。如果用户单击OK该表单将被提交。这将删除对象并重定向到confirm_delete页面将被重定向的相同方式。
对于,ListView只需将POST请求发送到DeleteView,成功后就可以重新加载当前页面以更新ListView。发送AJAX请求的方式取决于您是否使用任何库,但是使用jQuery可以按以下步骤完成:
$.ajax('{% url "app:delete" object.id %}', {
method: 'POST',
success: function() {
window.location.reload();
},
});
Run Code Online (Sandbox Code Playgroud)
注意:不要忘了包含csrf_tokenAJAX请求才能正常工作。有关更多信息,请参阅文档。
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |