2016-12-06 43 views
0

我有以下情況:在網站上的用戶區域,他可以在表格中看到他所有的房地產帖子。每個帖子都有一個「垃圾按鈕」。當他按下按鈕時,我想從數據庫中刪除他選擇的確切實例。Django - 根據用戶在表格中的選擇刪除實例

user's area 這是我擁有的HTML。請注意,我使用了一個視圖來訪問數據庫,然後從數據庫中刪除。但我不知道如何發送確切的參數來在數據庫中找到它。

<div class="container"> 
    <div class="col-xs-12"> 
     <h1>Olá, {{ request.user.first_name }}</h1> 
    </div> 
    <div class="row col-md-12 col-md-offset-0 custyle"> 
    <table class="table table-striped custab"> 
    <thead> 
     <tr> 
      <th>Imagem Principal</th> 
      <th>Data Criação</th> 
      <th>Tipo do Anúncio</th> 
      <th>Tipo do Imóvel</th> 
      <th>Preço Venda</th> 
      <th>Visualizações</th> 
      <th>Expira</th> 
      <th>Status</th> 
      <th class="text-center">Action</th> 
     </tr> 
    </thead> 
      {% for anuncio in anuncios %} 
      <tr > 
       <td> 
        <div class="embed-responsive embed-responsive-16by9"> 
         <img class="embed-responsive-item" src="{{anuncio.imagem_principal.url}}"> 
        </div> 
       </td> 
       <td>Falta</td> 
       <td>{{anuncio.tipo_anuncio}}</td> 
       <td>{{anuncio.tipo_imovel}}</td> 
       <td>R$ {{anuncio.preco_venda}}</td> 
       <td>Falta</td> 
       <td>News Cate</td> 
       <td>News Cate</td> 
       <td><p data-placement="top" data-toggle="tooltip" title="Delete"> 
        <button class="btn btn-danger btn-xs" data-title="Delete" data-toggle="modal" data-target="#delete"> 
         <span class="glyphicon glyphicon-trash"></span> 
        </button></p> 
       </td> 


      </tr> 
      {% endfor %} 

    </table> 
    </div> 

</div> 
<div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true"> 
     <div class="modal-dialog"> 
    <div class="modal-content"> 
      <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button> 
     <h4 class="modal-title custom_align" id="Heading">Edit Your Detail</h4> 
     </div> 
      <div class="modal-body"> 
      <div class="form-group"> 
     <input class="form-control " type="text" placeholder="Mohsin"> 
     </div> 
     <div class="form-group"> 

     <input class="form-control " type="text" placeholder="Irshad"> 
     </div> 
     <div class="form-group"> 
     <textarea rows="2" class="form-control" placeholder="CB 106/107 Street # 11 Wah Cantt Islamabad Pakistan"></textarea> 


     </div> 
     </div> 
      <div class="modal-footer "> 
     <button type="button" class="btn btn-warning btn-lg" style="width: 100%;"><span class="glyphicon glyphicon-ok-sign"></span> Update</button> 
     </div> 
     </div> 
    <!-- /.modal-content --> 
    </div> 
     <!-- /.modal-dialog --> 
    </div> 



    <div class="modal fade" id="delete" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true"> 
     <div class="modal-dialog"> 
    <div class="modal-content"> 
      <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button> 
     <h4 class="modal-title custom_align" id="Heading">Delete this entry</h4> 
     </div> 
      <div class="modal-body"> 

     <div class="alert alert-danger"><span class="glyphicon glyphicon-warning-sign"></span> Are you sure you want to delete this Record?</div> 

     </div> 
     <div class="modal-footer form-actions"> 
     <a href="{% url 'dashboard:dashboard_deletar' %}" class="btn btn-success"><span class="glyphicon glyphicon-ok-sign"></span> Yes</a> 
     <button type="submit" class="btn btn-default" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> No</button> 
     </div> 
     </div> 
    <!-- /.modal-content --> 
    </div> 
     <!-- /.modal-dialog --> 
    </div> 

我正在練習我在書中學到的東西,所以我不想去AJAX。

回答

1

<form>中的按鈕放入POST的視圖中,該視圖將刪除該實例。例如:

HTML

<form action="{% url 'delete_estate %}" method="POST"> 
{% csrf_token %} 
<input type="hidden" name="estate_id" value="{{ estate.id }}"> 
</form> 

視圖

def delete_estate(request): 
    if request.method == "POST": 
     estate_id = request.POST['estate_id'] 
     estate = Estate.objects.get(id=estate_id) 
     estate.delete() 

     messages.success(request, "Estate deleted successfully!") 
     return redirect("/") 

網址

... 
url(r'^delete-estate/$', views.delete_estate.as_view(), name='delete_estate'), 
.... 
+0

對不起,但在這種情況下不起作用。單擊垃圾桶按鈕後有一個模式對話框。這是我的問題。我不知道如何將post_id帶入這個對話框。如果只有按鈕沒有確認,那麼你可以按照你的要求進行操作。 –

1

將模態的內部for循環WEL l以便每個房地產都有獨特的模式。請記住將模式的ID更改爲id="delete_{{ anuncio.id }}"之類的內容,並使用data-target="delete_{{ anuncio.id }}"使刪除按鈕激活相同的模式。從該模式中,您應該能夠完成Hybrid與表單所說的內容並訪問{{anuncio.id}}變量。

如果您還不知道,默認情況下已創建id。

+0

謝謝!有效。 –

相關問題