2013-08-11 3 views
0

웹 사이트의 버튼을 통해 레코드를 삭제하고 싶습니다. 내가 어떻게 그럴 수 있니?Django가 링크를 통해 모델에 작업 수행

지금까지 모든 "버튼"또는 작업은 "게시물"을 통해 처리되는 양식과 관련이 있습니다. URL은 동일하게 유지되며 콘텐츠 및 작업이 다른 도착 또는 게시 인 경우 문제가됩니다.

하지만 뭔가를 삭제하려면 "/ delete_record"또는 이와 비슷한 URL을 만들고 싶지 않습니다. 또한 모든 버튼이 하나의 형식이어야한다고 생각하지 마십시오. 10 개의 레코드가 있고 그 중 하나를 삭제할 수 있다고 말하면 10 개의 형식이 될 수 있습니까?

어쩌면 이것은 내가 자바 스크립트 등으로 할 수있는 것입니까?

답변

1

삭제하려는 개체에 대한 식별자가있는 URL을 만들 수 있으며보기에서 개체를 삭제하면됩니다.

Record 유형의 개체를 삭제하려고한다고합시다. 그래서

def delete_record_view(request, id): 
    obj = get_object_or_404(Record, pk=id) 
    # some validation here to make sure the user clicking the link can delete the object 
    obj.delete() 

추천하고 템플릿

<a href="{% url 'record-delete-link' record_object.id %}">Delete</a> 
+0

내가 장고에서이있는 "역"URL 기능을 가지고에서보기 때문에

url(r'^record/delete/(?P<id>)/$', 'delete_record_view', name='delete-record-url') 

같은 URL을 만드시겠습니까? 나는 이것이 존재했다는 것을 몰랐다 ... 당신이 사용하고있는 것에 대한 올바른 의사인가? https://docs.djangoproject.com/en/dev/topics/http/urls/#reverse-resolution-of-urls – reedvoid

+0

예. 내장 템플릿 태그 문서에 대한 자세한 내용 - https://docs.djangoproject.com/en/dev/ref/templates/builtins/#url – elssar