Django 일반 보기 (DeleteView) 는 aax를 이용하여 삭제 기능을 수행합니다.
다음은 항목의 일부 코드를views에 붙입니다.py
@method_decorator(login_required, name='dispatch')
class ArticleDeleteView(DeleteView):
model = Article
success_url = reverse_lazy('blog:article_list')
# def get_object(self, queryset=None):
# obj = super(ArticleDeleteView, self).get_object(queryset=queryset)
# if obj.author != self.request.user:
# raise Http404()
# return obj
def post(self, *args, **kwargs):
self.object = self.get_object()
self.object.delete()
data = {'success': 'OK'}
return JsonResponse(data)
urls.py
app_name = 'blog'
urlpatterns = [
...
re_path(r'^article/(?P\d+)/(?P[-\w]+)/delete$',
views.ArticleDeleteView.as_view(), name='article_delete'),
}
article_list.py 부분 코드
var csrftoken = $.cookie('csrftoken');
function csrfSafeMethod(method) {
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$(document).ready(function () {
$("tr").on("click", "#ajax_delete", function () {
var flag = confirm(" ?
!")
if (flag) {
var pk = $(this).data('id');
var slug1 = $(this).data('slug');
var url = '/blog/article/' + pk + '/' + slug1 + '/delete'
$.ajax({
url: url,
type: "POST",
// POST csrftoken
beforeSend: function (xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
},
success: function (res) {
$('#ajax_delete').parents('tr').remove()
}
})
}
})
})
주요 코드 부분은 이렇습니다. 이쪽은 aax를 통해 일반적인 보기를 통해 기록을 삭제하는 기능을 실현합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.