python - 如何从 django_tables2 编辑和删除行并在表和下一个和上一个按钮中进行过滤搜索
问题描述
你好,我的朋友们,我使用 django_tables2,我显示了我的数据表,一切正常……我现在想编辑和删除行,并使过滤器在表中搜索……使下一个和 pervious……我觉得不好关于这个的文档,你能帮我吗?这是我在视图中显示的表格的视图代码谢谢
def Immoblist(request):
table = ImmobTable(Immob.objects.all())
table.paginate(page=request.GET.get('page', 1), per_page=25)
RequestConfig(request).configure(table)
return render(request,"immob_list.html", {'table': table})
#this is tables.py
import django_tables2 as tables
from .models import Immob
from django_tables2 import SingleTableView
from django_tables2.views import SingleTableMixin
class ImmobTable(tables.Table):
id = tables.Column(verbose_name= 'ID')
immo_code=tables.Column(verbose_name='Code')
immo_desig=tables.Column(verbose_name='Désignation')
immo_qte=tables.Column(verbose_name='Quantité ')
immo_datemes=tables.Column(verbose_name='Date mes ')
immo_cptimmob=tables.Column(verbose_name='Compte comptable ')
immo_dureevie=tables.Column(verbose_name='Durée de vie ')
immo_origine=tables.Column(verbose_name='Origine ')
immo_fournisseur=tables.Column(verbose_name='Fournisseur ')
immo_nufact=tables.Column(verbose_name='N° facture ')
immo_datefact=tables.Column(verbose_name='Date facture ')
immo_valht=tables.Column(verbose_name='Valeur HT ')
immo_monaie=tables.Column(verbose_name='Monnaie ')
immo_tauxcvt=tables.Column(verbose_name='Taux de conversion ')
immo_tauxctrval=tables.Column(verbose_name='Contre valeur/DA ')
immo_frais=tables.Column(verbose_name="Frais d'approche ")
immo_coutacq=tables.Column(verbose_name="Cout total d'acquisition ")
immo_refcmde=tables.Column(verbose_name='Référence commande ')
immo_datecmde=tables.Column(verbose_name='Date commande ')
immo_journee=tables.Column(verbose_name='Numéro de journée ')
immo_cptanal=tables.Column(verbose_name='Compte Analytique')
immo_local=tables.Column(verbose_name='Localisation ')
immo_mode_amort=tables.Column(verbose_name="Méthode d'amortissement ")
immo_code_r=tables.Column(verbose_name="Dernier plan d'amortissement ")
immo_val_amort=tables.Column(verbose_name="Valeur à amortir ")
immo_status=tables.Column(verbose_name='Code status')
immo_code_bar=tables.Column(verbose_name='Code à barre ')
service=tables.Column(verbose_name='Service ')
cni=tables.Column(verbose_name='Code cni ')
class Meta:
model = Immob
attrs = {'class': 'table table-sm'}
template_name = 'django_tables2/bootstrap4.html'
class ImmobList(SingleTableView):
model = Immob
table_class = ImmobTable
#la page immob_list. HTML
<!doctype html>
{% load render_table from django_tables2 %}
{% load static%}
<html>
<table class="table table-bordered">
<head>
<title>Liste des Immobilisations</title>
<link rel="stylesheet" href="{% static '/css/bootstrap.min.css' %}" />
</head>
<body>
<div style="overflow-y: auto; height:10px; ">
{% block content %}
{% render_table table %}
{% endblock content %}
</div>
</body>
</table>
</html>
解决方案
Django_tables2 通过服务器端查询创建视图,并且没有发布数据的能力。本质上,它所做的是自动创建可以按列标题排序的表。
从文档:
“特征:
任何可迭代对象都可以是数据源,但包括对 Django QuerySets 的特殊支持。
内置 UI 不依赖于 JavaScript。
支持基于 Django 模型的自动表生成。
通过子类化支持自定义列功能。
分页。
基于列的表格排序。
模板标签以启用对 HTML 的简单渲染。
通用视图混合。”
请参阅此处了解如何使用 JavaScript (Ajax) 来编辑网页上的数据。Django - 编辑 HTML 表格行并更新数据库
推荐阅读
- html - Chrome 在请求 img 元素的 src 时发送空的 Referrer 标头,即使 referrer-policy 设置为“no-referrer”
- lua - 为表的每个元素创建一个本地变量 [LUA]
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 20 中的字节 0xbc:无效的起始字节
- perl - 需要使用 Perl 查找 HTML/XML 嵌套标签级别
- apache-spark - 进行一些转换后,如何将流式数据帧写入另一个 Kafka 主题?
- javascript - 不变违规:scrollToIndex 超出范围:请求的索引 6 在本机反应中超出 0 到 5
- excel - Excel 数据透视表报表筛选器
- vim - 如何在vim中大写特定的大写单词
- python - 查找 NetworkX 中所有节点对之间的所有最短路径
- bash - 如何计算具有特定分区过滤器的配置单元表的大小?