# How to delete row when use Django only templates

**URL:** <https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816>\
**Category:** Templates & Frontend\
**Created:** [October 27, 2023, 7:16am UTC](https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816 "2023-10-27T07:16:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tornike1989](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/tornike1989/32/15082_2.png) [@Tornike1989](https://forum.djangoproject.com/u/Tornike1989)\
**Post date:** [October 27, 2023, 7:16am UTC](https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816/1 "2023-10-27T07:16:58Z")

</div>

Hello,  
I tried several options but to no avail. How can I get the job done if I only use templates? I want to delete the selected record with a button. I also have an add button in the html, after the add button it shows me the base again.  
I tried to add a separate path(#), as shown in the code, I get an error: \_\_ Expected a `Response` , `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`.

use:  
Django only templates.  
Django decorator @api\_view.

All entries come with a delete button, but I can’t get the job done.

urls.py:

```auto
urlpatterns = [
...
    path("save", views.testing, name='save'),
    #path("save/<int:pk>", views.delete, name='delete'),
]

```

views.py:

```auto
@api_view(['GET', 'POST'])
def testing(request):
    mydata = models.FlatModelSqlite.objects.all()
    serializer_class = serializers.FlatSerializerSqlite(mydata, many=True)

    if request.method == "GET":

        html_save = "MyHome/save.html"
        template = loader.get_template(html_save)
        context = {
            'mymembers': serializer_class.data, 'flatP': ForecastField_all(),
        }
        return HttpResponse(template.render(context, request))

    elif request.method == "POST":
        item_serializer = serializers.FlatSerializerSqlite(data=request.data)

        if item_serializer.is_valid():
            item_serializer.save()
            return HttpResponseRedirect(redirect_to='save')
        else:
            er = item_serializer.errors
            html_save = "MyHome/save.html"
            template = loader.get_template(html_save)
            context = {
                'mymembers': serializer_class.data, 'flatP': ForecastField_all(),
                'errors': er,
            }
            return HttpResponse(template.render(context, request))

#@api_view(['GET', 'POST'])
#def delete(request, pk):
# if request.method == 'POST':
# flat_delete = models.FlatModelSqlite.objects.get(pk=pk)
# flat_delete.delete()
# return HttpResponse(redirect_to='save')

```

html /save:

```auto
{% for x in mymembers %}
    <tr>

      <td>{{ x.id }}</td>
        <td>{{ x.Address_N }}</td>
      <td>{{ x.Project_N }}</td>
      <td>{{ x.Fasi }}</td>
      <td>{{ x.Status }}</td>
      <td>
          <form method="post">
          {% csrf_token %}
          <input type="submit" value="Delete flat">
          </form></td>

    </tr>

  {% endfor %}

```

---

<div class="post-metadata">

**Author:** ![nanorepublica](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/nanorepublica/32/14211_2.png) [@nanorepublica](https://forum.djangoproject.com/u/nanorepublica)\
**Post date:** [October 27, 2023, 7:31am UTC](https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816/2 "2023-10-27T07:31:35Z")

</div>

Given that `@api_view` is from Django Rest Framework and not just Django, there is some confusion going on.

Also, your using api\_view but returning HTML which is not typical. If you want to return HTML you do not need to use `@api_view`.

I would recommend looking up the `render` method in the shortcuts module of Django. This will simplify your view code.

---

<div class="post-metadata">

**Author:** ![Tornike1989](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/tornike1989/32/15082_2.png) [@Tornike1989](https://forum.djangoproject.com/u/Tornike1989)\
**Post date:** [October 27, 2023, 8:29am UTC](https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816/3 "2023-10-27T08:29:59Z")

</div>

As I understand I need apiview when I use react.js or other.  
Especially when I need apiview or other decorator can you tell me?

---

<div class="post-metadata">

**Author:** ![nanorepublica](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/nanorepublica/32/14211_2.png) [@nanorepublica](https://forum.djangoproject.com/u/nanorepublica)\
**Post date:** [October 27, 2023, 8:32am UTC](https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816/4 "2023-10-27T08:32:20Z")

</div>

Well, are you building a separate frontend? Or are you using Django Templates for your whole site?

---

<div class="post-metadata">

**Author:** ![Tornike1989](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/tornike1989/32/15082_2.png) [@Tornike1989](https://forum.djangoproject.com/u/Tornike1989)\
**Post date:** [October 27, 2023, 10:53am UTC](https://forum.djangoproject.com/t/how-to-delete-row-when-use-django-only-templates/24816/5 "2023-10-27T10:53:03Z")

</div>

I removed the decorator(@api\_view) and used: return HttpResponseRedirect(redirect\_to=‘/MyHome/save’) , now it works.
