【问题标题】:Passing a value to a modal in Django将值传递给 Django 中的模式
【发布时间】:2022-01-22 04:19:36
【问题描述】:

我想在单击表格上的删除按钮后添加一个删除确认模式,该按钮由 Django 视图中的多个对象生成:

...
{% for i in items %}
<tr>
    <td>{{ i.name }}</td>
    <td><a href="#" data-bs-toggle="modal" data-bs-target="#modal-delete-item">Delete</a></td>
</tr>
{% endfor %}
....

我在模态中的内容是这样的:

<div class="modal modal-blur fade" id="modal-delete-item" tabindex="-1" role="dialog" aria-hidden="true">
        ....
        <button href="{% url 'remove_quote_item' i.pk %}" type="button" class="btn btn-danger" data-bs-dismiss="modal">Oui, je confirme.</button>
        ....
</div>

由于我在循环之外,如何在模态中使用“i”变量,我可以使用任何东西将该变量引用到模态中吗?或者可能使用 javascript 来执行该操作?或者我可以用 jinja 本身做些什么?

谢谢!

【问题讨论】:

  • 你可以通过 javascript 来实现,如果你想使用 javascript,使用 ajax 将数据发送到服务器会很方便

标签: python html django twitter-bootstrap


【解决方案1】:

最佳实践

使用Ajax向服务器发送一个你想要的id号的请求 删除。

不良做法

这是不好的做法,但你可以解决这个问题。

{% for i in items %}
<tr>
    <td>{{ i.name }}</td>
    <td><a href="#" data-bs-toggle="modal" data-bs-target="#modal-delete-item-{{ i.id }}">Delete</a></td>
</tr>
...........
<div class="modal modal-blur fade" id="modal-delete-item-{{ i.id }}" tabindex="-1" role="dialog" aria-hidden="true">
        ....
        <button href="{% url 'remove_quote_item' i.id %}" type="button" class="btn btn-danger" data-bs-dismiss="modal">Oui, je confirme.</button>
        ....
</div>

.........
{% endfor %}

【讨论】:

  • 你能帮我解决 Ajax 问题吗?我没有太多经验。
【解决方案2】:
  1. 使用 ajax 以 id 作为数据向服务器发送请求。
  2. 在 view.py 的删除函数中,如果给定 id 的记录从数据库中删除,则返回 0,如果没有删除或发生任何其他错误,则返回 1。
  3. 在表格上方创建一个隐藏的 div 元素,如果响应为 0,则使用 javascript 从表格中删除该行并显示该 div 元素。

【讨论】:

    猜你喜欢
    • 2012-10-21
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2018-08-24
    • 1970-01-01
    • 2011-11-20
    • 2017-12-31
    相关资源
    最近更新 更多