[英]How to list all objects from particular model in django rest framework?
[英]Django rest framework - Delete model objects from HTML
因此,我正在使用Django框架開發應用程序,並且需要HTML表單來插入/刪除和更新數據庫中的數據。 我能夠制作表格來更新數據,但是我似乎找不到有關如何制作“創建表格”和“刪除”按鈕的任何信息。 我嘗試了這個,但沒有成功:
HTML
<form action="{% url 'conta_details_html' conta.id %}" data-method="delete">
<input type="submit" value="delete">
</form>
瀏覽次數:
class ContaDetailsHTML(APIView):
renderer_classes = [TemplateHTMLRenderer]
template_name = 'conta_details.html'
def get(self, request, pk):
user = request.user
conta = get_object_or_404(Conta, pk=pk,user=user)
serializer = ContaDetailsSerializerHTML(conta)
return Response({'serializer': serializer, 'conta': conta})
def delete(self,request,pk):
"""Deletes a transaccao"""
user = request.user
if not user.is_authenticated:
return Response(status=status.HTTP_403_FORBIDDEN)
conta = get_object_or_404(Conta, pk=pk, user=user)
serializer = ContaDetailsSerializerHTML(conta,many=False)
if conta:
conta.delete()
return Response(status=status.HTTP_200_OK)
return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
也許我在html上語法不正確,但是更新形式非常簡單,如下所示:
<form action="{% url 'conta_details_html' conta.id %}" method="POST">
{% csrf_token %}
{% render_form serializer %}
<input type="submit" value="Save">
</form>
任何想法 ?
編輯:
網址:
url(r'^api/html/contas/(?P<pk>[0-9]+)/$', views.ContaDetailsHTML.as_view(), name='conta_details_html'),
哦,即使是刪除也很容易。 您錯過了這里的幾件事。 1. DELETE是HTTP Verb,您在表單中的method字段可以采用其中之一。
<form action="{% url 'conta_details_html' conta.id %}" data-method="delete" method="DELETE">
<input type="submit" value="delete">
</form>
在刪除視圖中,您嘗試序列化,但不需要。
def delete(self, request, pk): """Deletes a transaccao""" user = request.user if not user.is_authenticated: return Response(status=status.HTTP_403_FORBIDDEN) conta = get_object_or_404(Conta, pk=pk, user=user) conta.delete() return Response(status=status.HTTP_200_OK)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.