В моем приложении Django у меня есть кнопка удаления, чтобы удалить конкретный экземпляр файла.
{% for file in file_list %}
<tr>
<td>{{ file.filename }}</td>
<td>
<!-- passing the file.pk argument to JS function -->
<a data-toggle="modal" href="#fileConfirmDeleteModal" data-id="{% url 'delete_file' file.pk %}">
<button class="btn btn-danger">Delete</button>
</a>
</td>
</tr>
{% endfor %}
В моем вызове функции JavaScript отображается окно подтверждения режима для удаления файла:
<script type="text/javascript">
$(document).on("click", ".open-AddBookDialog", function () {
var file_pk = $(this).data('id'); //the 'file.pk' instance is retrieved
//how to pass 'file_pk' argument to the <a href> tag in the modal
$(".modal-footer #delete_file_href").val( file_pk );
$('#fileConfirmDeleteModal').modal('show');
});
</script>
Ниже приведено диалоговое окно режима, которое содержит «Да» и «Нет».кнопка;при нажатии «Да» необходимо вызвать конкретный шаблон URL, например, «delete_file» file.pk
<!--Modal: fileConfirmDeleteModal-->
<div class="modal fade" id="fileConfirmDeleteModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<!--Content-->
<div class="modal-content text-center">
<!--Header-->
<p class="heading">Are you sure?</p>
<!--Body-->
<div class="modal-footer flex-center">
<!--Here I need to append the file.pk value to the 'delete_file url name'-->
<a href="{% url 'delete_file' file.pk=file_pk %}" id="delete_file_href">
<button>Yes</button>
</a>
<button class="btn btn-danger" data-dismiss="modal">No</button>
</div>
</div>
<!--/.Content-->
</div>
</div>
При попытке использовать приведенный выше код я сталкиваюсь со следующей ошибкой:
Exception Type: TemplateSyntaxError at /mysite/file_log/
Exception Value: Could not parse the remainder: '=file_pk' from 'file.pk=file_pk'
Urlpattern:
path('delete_file/<int:pk>', views.FileDeleteView.as_view(), name='delete_file'),
Я не могу понять, как добавить значение этой переменной file_pk внутрь имени URL {%%} тега href.