Django-确认弹出窗口

时间:2020-03-14 12:29:56

标签: python html django

我正在尝试编写用于删除项目的代码。但是在删除它之前,我想向用户弹出一条消息,例如“确定要删除吗?”。 我想按ID删除该项目。

我写了这段代码,但是我很确定它不是应该的样子。

请指导我该怎么做。

HTML文件

 <div id="film_box">
 {% if films %}
 {% for film in films %}
 <div class="card" style="width: 18rem;">
  {% if film.image%}
 <img src="{{ film.image.url }}" class="card-img-top" alt="...">
{% endif %}
 <div class="card-body">
 <h5 class="card-title">{{ film.title}}</h5>
 <p class="card-text">{{ film.category_name }}</p>
 <p class="card-text">{{ film.country_name }}</p>
 <p class="card-text">{{ film.director }}</p>
 <p class="card-text">{{ film.release_date }}</p>
</div>
<div class="card-body">
  {% if request.user.is_superuser %}
  <ul style="list-style:none;">
 <li><a href="{% url 'update_director' film.director_id %}" class="card-link">Modify the director</a> 
 </li>
  <li><a href="{% url 'update_film' film.id %}" class="card-link">Modify the film</a></li>
  <li><button onclick="document.getElementById('btn_delete').style.display='block'"
              name="{{ film.id }}" class="btn btn-danger">DELETE</button></li>
 </ul>
  {% endif %}

<!--popup message-->
<div id="btn_delete" class="modal">
<span onclick="document.getElementById('btn_delete').style.display='none'" class="close" title="Close 
Modal">×</span>
 <form class="modal-content" action="/delete/{{film.id}}">
 <div class="container">
   <h1>Delete film</h1>
   <p>Are you sure you want to delete the film?</p> 

   <div class="clearfix">
    <button type="button" onclick="document.getElementById('btn_delete').style.display='none'" class="cancelbtn">Cancel</button>
    <button href="{% url 'delete_film' film.id %}" onclick="document.getElementById('btn_delete').style.display='none'" class="deletebtn">Delete</button>
  </div>
 </div>
</form>
</div>
{% endfor%}
{% endif %}

JAVASCRIPT文件

   // Get the modal
  var modal = document.getElementById('btn_delete');
 console.log(model.name)
 // When the user clicks anywhere outside of the modal, close it
  window.onclick = function(event) {
    if (event.target == modal) {
    modal.style.display = "none";
   }
 }

我想在URL中传递ID,这样我就可以在python文件中捕获它并进行操作。 我应该使用Javascript吗?

1 个答案:

答案 0 :(得分:1)

这就是我要做的。请注意,该代码未经测试,但是原理应使您了解如何正确执行该代码。

const aliasArr = ['a', 'b', 'c'];

const applyAliases = <Alias extends string[], Values extends any[]>(aliases: Alias) => (arr: Values) => {
    const definition = [...arr];
    aliases.forEach((key, i) =>
        Object.defineProperty(definition, key, {
            enumerable: false,
            get(): Values[number] {
                return this[i];
            },
        })
    );
    return definition as typeof arr & { [P in keyof Alias]: Values[number] };
};

const applied = applyAliases<typeof aliasArr, string[]>(aliasArr)(['test', 'test2', 'test3']);

const test = applied.a // Error, property 'a' does not exist on type string[]
相关问题