Я заполняю данные (заказ клиента в моем случае) из базы данных в таблицу, используя теги шаблона Django. Я присвоил уникальный идентификатор (order.id) идентификатору тега «a». При нажатии этого тега «а» я написал функцию, которая выбирает идентификатор нажатой кнопки, а затем открывает модальное диалоговое окно. Теперь мне нужно, чтобы модальное тело показывало имя order.name динамически, а затем предоставляло пользователю две опции - 1. «Нет», что закрывает модал 2. «Да», которое должно направлять к представлениям вместе с выбранным идентификатором.
Я застрял здесь.
html
<div class = 'col-md-7'>
<h4>ORDERS</h4>
<hr>
<div class = 'card card-body'>
<a class = 'btn btn-primary text-white' href = "{% url 'createOrder' %}">Create Order</a>
<table class = 'table table-sm'>
<tr>
<th>Product</th>
<th>Date Ordered</th>
<th>Status</th>
<th>Update</th>
<th>Remove</th>
</tr>
{% for order in orders %}
<tr>
<td>{{order.Product.name}}</td>
<td>{{order.created_on}}</td>
<td>{{order.status}}</td>
<td><a href = "{% url 'updateOrder' order.id %}" style = "color: #005ce6;"><i class="fas fa-pen" style = "padding-left: 5mm;"></i></a></td>
<td><a href = "#" class = 'delete' id = '{{order.id}}' style = "color: #b30000;"><i class="fas fa-times" style = "padding-left: 6mm;"></i></a></td>
</tr>
{% endfor %}
</table>
</div>
</div>
<script>
$(".delete").click(function() {
var id = this.id;
$('#modelId').modal('show');
});
</script>
<!-- Modal -->
<div class="modal fade" id="modelId" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Delete</h5>
</div>
<div class="modal-body">
<div class="container-fluid">
<h4>Are you sure you want to delete this order?</h4>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">No</button>
<a href ='#' ><button type="button" class="btn btn-danger">Yes</button></a>
</div>
</div>
</div>
</div>
views.py
def createOrder(request):
orderForm = OrderForm()
if request.method == 'POST':
form = OrderForm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
context = {'form': orderForm}
return render(request, 'accounts/order_form.html', context)
def updateOrder(request, pk):
order = Order.objects.get(id = pk)
orderForm = OrderForm(instance = order)
if request.method == 'POST':
form = OrderForm(request.POST, instance = order)
if form.is_valid():
form.save()
return redirect('/')
context = {'form': orderForm, 'update': True}
print('Printing orderForm:',orderForm)
return render(request, 'accounts/order_form.html', context)
def deleteOrder(request, pk):
order = Order.objects.get(id = pk)
order.delete()
return redirect('/')
urls.py
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name = 'home'),
path('products/', views.products, name = 'products'),
path('customer/<str:pk>/', views.customer, name = 'customer'),
path('create_order/', views.createOrder, name = 'createOrder'),
path('update_order/<str:pk>', views.updateOrder, name = 'updateOrder'),
path('delete_order/<str:pk>', views.deleteOrder, name = 'deleteOrder')
]