NeonOni
NeonOni

Reputation: 33

Sending data from template to Django views via button

I'm trying to create a delete button in my template:

<button type="submit" class="btn btn-danger" value={{ instance.name }}> Delete </button>

And I want this button to submit that data in my views.py :

instance_client = compute_v1.InstancesClient()
if request.method == "POST":
        instance = request.POST['data']
        instance_client.delete(project='xxx', zone='xxx', instance=HERE_I_WANT_THE_DATA)

It's a script that will delete an instance from gcloud. But I don't know exactly how to deliver the data from the template to views.py. I'm using Bootstrap 5.

Upvotes: 1

Views: 796

Answers (1)

Vignesh
Vignesh

Reputation: 231

Hope I understand your question.

Template

<form action="{% url 'delete_function' item.id %}" method="POST">
 {% csrf_token %}
 <a href="{% url 'home' %}">Cancel</a>
 <input class="btn btn-sm btn-danger" type="submit" value="Delete">
</form>

Views

def deleteFunction(request, pk):
 item = Model.objects.get(id=pk)
 if request.method == "POST":
  item.delete()
  return redirect('/')

url

path('delete_function/<str:pk>', views.deleteFunction, name='delete_function')

Upvotes: 2

Related Questions