亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在表格的每一行中添加刪除按鈕?

如何在表格的每一行中添加刪除按鈕?

斯蒂芬大帝 2022-08-25 16:05:20
進展如何?我正在學習用django編程。目前,我正在構建一個簡單的應用程序,該應用程序利用表單更新引用的表?,F在,我嘗試在表的每一行中添加一個刪除按鈕,但是,除了我嘗試了很多解決方案之外,我沒有找到一個正常工作的解決方案。在我的代碼下面:網址from django.urls import pathfrom app import viewsapp_name = 'main'urlpatterns = [    path('', views.homepage, name='homepage'),    path('delete_item/<int:pk>', views.delete_item, name="delete_item"),]形式from django import formsfrom .models import Incomeclass IncomeModelForm(forms.ModelForm):    class Meta:        model = Income        fields = "__all__"表import django_tables2 as tablesfrom django_tables2.utils import Afrom .models import Incomeclass PersonTable(tables.Table):    delete = tables.LinkColumn('main:delete_item', args=[A('delete-id')], attrs={'a': {'class': 'btn'}})    class Meta:        model = Income        template_name = "django_tables2/bootstrap.html"視圖from django.shortcuts import renderfrom django.http import HttpResponsefrom django.views.generic import ListViewfrom .models import Incomefrom .tables import PersonTablefrom .forms import IncomeModelFormdef homepage(request):    table = PersonTable(Income.objects.all())    if request.method == 'POST':         form = IncomeModelForm(request.POST)         if form.is_valid():             print("Il form è valido")             new_input = form.save()    else :        form = IncomeModelForm()    context= {"form": form,            "table":table }    return render(request, "app/base.html", context)def delete_item(request, pk):    Income.objects.filter(id=pk).delete()    items = Income.objects.all()    context = {    'items': items    }    return render(request, 'app/base.html', context)斷續器{% load static %}{% load render_table from django_tables2 %}<!doctype html><html>  <head>    <!-- Required meta tags -->    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">我的表取消了“刪除”列,但沒有 buttoms,只有一個“-”。為什么?我的錯誤在哪里?
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

在表中顯示記錄時,需要使用“刪除表單”按鈕添加額外的表數據。例如:


<table>


{% for item in items%}


<tr>

<td>{{item.id}}</td>

<td>{{item.name}}</td>

<td>

    <form method="delete">

        <input type="hidden" value="{{item.id}}" name="delete-id">

        <input type="Submit">Delete</button>

    </form>

</td>

</tr>


{% endfor}

</table>

現在,在 views.py 添加刪除部分并刪除記錄:


if request.method == 'DELETE':

        Person.objects.get(pk=request.DELETE['delete-id']).delete()

您正在使用django_tables2,您只需將此代碼添加到 tables.py


from django_tables2.utils import A  # alias for Accessor

class PersonTable(tables.Table):

    delete = tables.LinkColumn('main:delete_item', args=[A('delete-id')], attrs={

    'a': {'class': 'btn'}

    })


查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號