gpt4 book ai didi

Django 管理搜索/过滤功能作为页表

转载 作者:行者123 更新时间:2023-12-01 22:10:13 45 4
gpt4 key购买 nike

我想知道是否有一种方法可以在常规 View 中使用 Django Admin 的过滤/排序/分页/搜索功能。

我的意思是我有一个模型,上面有一些字段。我想要一个“搜索”表单,其中字段的定义与使用 admin.ModelAdmin 非常相似。用户将能够搜索(使用提供的字段)、按值过滤、对结果表的页面进行分页等。所有这些都不需要我做最少的工作,例如。只需配置表单中应使用哪些字段。像这样的事情:

class SchoolAdmin(ModelAdmin):
list_display = ('id', 'name', )
list_display_links = ('name', )
search_fields = ('name', )
list_filter = ('type', )

有类似的东西吗?还是我必须自己编码?

编辑:

我需要这样的插件/应用程序的功能是:

  1. 以表格形式显示数据
  2. 按列排序
  3. 过滤(例如“仅显示包含 X = Y 的行”)
  4. 按列搜索
  5. 可选配置类似于 ModelAdmin 风格

阿拉斯代尔的 django-tables2仅匹配第一个和第二个条件。

最佳答案

从 Django 1.3 开始,您提到的 django 功能在自定义 View 中并不能真正重用。最近 django 开发者小组上有一些关于 splitting out admin functionality 的讨论使其可重复使用。

我遇到了两个可能对你有用的项目,django-tables2django-filter 。它们都提供略有不同的东西,我认为您正在寻找两者的混合体。

django-tables2

django-tables2 simplifies the task of turning sets of data into HTML tables. It has native support for pagination and sorting. It does for HTML tables what django.forms does for HTML forms

django-过滤器

Django-filter is a reusable Django application for allowing users to filter queryset dynamically. It requires Python 2.4 or higher. For usage and installation instructions consult the docs directory.

Django-filter can be used for generating interfaces similar to the Django admin's list_filter interface. It has an API very similar to Django's ModelForms.

关于Django 管理搜索/过滤功能作为页表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999541/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com