Metadata-Version: 2.4
Name: django-admin-daterange-listfilter
Version: 0.1.9
Summary: 为Django模型列表页的时间过滤器增加日期范围选择功能。
Author-email: rRR0VrFP <rrr0vrfp@qq.com>
Maintainer-email: rRR0VrFP <rrr0vrfp@qq.com>
License-Expression: MIT
Project-URL: Homepage, https://gitee.com/rRR0VrFP/django-admin-daterange-listfilter
Project-URL: Repository, https://gitee.com/rRR0VrFP/django-admin-daterange-listfilter
Project-URL: BugTracker, https://gitee.com/rRR0VrFP/django-admin-daterange-listfilter/issues
Keywords: django admin extentions,daterange listfilter
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django
Requires-Dist: django-static-jquery-ui
Requires-Dist: django-middleware-global-request
Requires-Dist: django-listfilter-media-extension
Dynamic: license-file

# django-admin-daterange-listfilter

为Django模型列表页的时间过滤器增加日期范围选择功能。

## 使用方法

## 简化集成（django-app-requires）

本项目通过 `app_requires` 声明了依赖的 Django 应用，结合 [django-app-requires](https://pypi.org/project/django-app-requires/) 可自动补全 `INSTALLED_APPS` 中的依赖项，无需手动添加：

```python
INSTALLED_APPS = [
    ...
    "django_admin_daterange_listfilter",
    ...
]

# 在 settings.py 末尾
from django_app_requires import patch_all as django_app_requires_patch_all
django_app_requires_patch_all()
```

`patch_all()` 会自动将 `app_requires` 中声明的依赖（如 `django_static_jquery_ui` 等）追加到 `INSTALLED_APPS`。

## 传统手动配置

*settings.py*

```python
INSTALLED_APPS = [
    ...
    "django_static_jquery_ui",
    "django_middleware_global_request",
    "django_listfilter_media_extension",
    "django_admin_daterange_listfilter",
    ...
]

MIDDLEWARE = [
    ...
    "django_middleware_global_request.middleware.GlobalRequestMiddleware",
    ...
]
```

*admin.py*

```python
from django.contrib import admin
from django_admin_daterange_listfilter.filters import DateRangeFilter
from .models import Category


class CategoryAdmin(admin.ModelAdmin):
    list_display = [
        "title",
        "add_time",
        "mod_time",
    ]
    list_filter = [
        ("add_time", DateRangeFilter),
        ("mod_time", DateRangeFilter),
    ]


admin.site.register(Category, CategoryAdmin)
```

## 版本记录

### v0.1.0

- 版本首发。

### v0.1.4

- 添加中文i18n翻译。

### v0.1.5

- 添加default_app_config以增强兼容性。

### v0.1.6

- Doc update.

### v0.1.7

- 修复 QueryDict 参数值为 list 类型时触发 TypeError 的问题。
- 修复无效日期输入导致 500 异常的问题。
- 修复 `params` 就地修改产生副作用的问题。
- 修复 JavaScript 使用非标准 `window.location.query` 的兼容性问题。
- 新增单测覆盖正常/非法/空/列表参数/时区等场景。
- 更新 `.po` 翻译文件头部信息。
- 迁移打包配置至 `pyproject.toml`。
- 添加 `build.sh` 构建脚本。

### v0.1.8

- 添加项目仓库链接至 `pyproject.toml`。
- 更新文档说明。

### v0.1.9

- 修复 Django 5.2 中 `'datetime.datetime' object is not iterable` 错误。
