Skip to main content

Django TBase Admin

PyPI version Python versions License: GPL v3 Django versions

Django TBase Admin 是一个强大的 Django 管理模块,专门用于系统性能监控和数据库优化。该模块提供了直观的 Web 界面,让管理员可以轻松查看系统状态、清理过期数据和优化数据库性能。

✨ 主要功能

📊 性能监控仪表板

  • 实时显示数据库表统计信息
  • 监控表大小和记录数量
  • 提供可视化性能指标
  • 自动刷新和状态指示器

🧹 Session 管理

  • 查看当前活跃 sessions 数量
  • 清理过期 sessions
  • 释放数据库空间
  • 批量处理支持

📈 Hitcount 数据管理

  • 统计访问记录数据
  • 按时间范围清理历史数据
  • 支持批量操作和预览模式
  • 性能优化的删除策略

⚡ 数据库优化

  • 表优化操作
  • 索引重建
  • 查询性能分析
  • 智能表选择

🚀 快速开始

安装

使用 pip 安装:

pip install django-tbase-admin

配置

  1. settings.py 中添加模块:
INSTALLED_APPS = [
    # ... 其他应用
    'tbase_admin',
]
  1. 在主项目的 urls.py 中包含模块路由:
from django.urls import path, include

urlpatterns = [
    # ... 其他 URL
    path('tbase-admin/', include('tbase_admin.urls')),
]
  1. 运行数据库迁移:
python manage.py migrate
  1. 收集静态文件:
python manage.py collectstatic

访问

使用管理员账号登录 Django Admin,然后访问 /tbase-admin/performance/ 进入性能仪表板。

📖 详细文档

核心功能

性能仪表板

访问路径:/tbase-admin/performance/

仪表板显示以下信息:

  • 数据库表统计:各表的行数和占用空间
  • 实时数据刷新:点击刷新按钮获取最新数据
  • 可视化图表:表大小和行数的直观展示

Sessions 清理

功能:清理过期的用户会话数据

操作步骤

  1. 在性能仪表板找到 "Sessions 管理" 区域
  2. 点击 "清理 Sessions" 按钮
  3. 系统会自动清理过期会话并显示删除的记录数

Hitcount 数据清理

功能:清理网站的访问统计数据

参数设置

  • 保留天数:删除多少天前的数据(默认 30 天)
  • 批量大小:每次处理的数据量(默认 5000)
  • 预览模式:显示将要删除的数据量,不实际删除

数据库表优化

功能:优化数据库表结构,提高查询性能

操作步骤

  1. 在仪表板找到 "表优化" 区域
  2. 选择要优化的表(可多选)
  3. 点击 "优化选中表" 按钮
  4. 等待优化完成

管理命令

模块提供了以下管理命令:

# 清理过期 sessions
python manage.py tbase_clearsessions

# 清理 hitcount 数据
python manage.py tbase_clearhitcount --days=30 --batch-size=5000

# 预览模式清理
python manage.py tbase_clearhitcount --dry-run

API 接口

模块提供 RESTful API 用于集成:

GET  /tbase-admin/api/stats/     # 获取数据库统计
POST /tbase-admin/cleanup/sessions/  # 清理 sessions
POST /tbase-admin/cleanup/hitcount/  # 清理 hitcount
POST /tbase-admin/optimize/tables/   # 优化表

⚙️ 配置选项

可以在 settings.py 中添加自定义配置:

TBASE_ADMIN = {
    'DEFAULT_BATCH_SIZE': 5000,
    'DEFAULT_CLEANUP_DAYS': 30,
    'MONITORED_TABLES': [
        'django_session',
        'hitcount_hit',
        'hitcount_hit_count',
        'tbase_post_post',
        'tbase_page_basepage',
        'django_admin_log'
    ],
    'ALERT_THRESHOLDS': {
        'SESSION_COUNT_WARNING': 10000,
        'TABLE_SIZE_WARNING_MB': 500,
        'HITCOUNT_COUNT_WARNING': 100000,
    }
}

🔧 开发

开发环境设置

  1. 克隆仓库:
git clone https://github.com/terrychan/django-tbase-admin.git
cd django-tbase-admin
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # Linux/Mac
# 或
venv\Scripts\activate  # Windows
  1. 安装开发依赖:
pip install -e ".[dev]"
  1. 运行测试:
pytest

代码质量

项目使用以下工具确保代码质量:

  • Black: 代码格式化
  • Flake8: 代码风格检查
  • MyPy: 类型检查
black tbase_admin/
flake8 tbase_admin/
mypy tbase_admin/

📋 系统要求

  • Python 3.8+
  • Django 3.2+
  • MySQL 5.7+ 或 PostgreSQL 10+ (推荐)

🤝 贡献

欢迎贡献代码!请遵循以下步骤:

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 GPL-3.0 许可证。详情请参阅 LICENSE 文件。

🙏 致谢

  • 感谢 Django 社区的优秀框架
  • 感谢所有贡献者的支持

📞 支持

如果遇到问题或需要帮助:

  1. 查看 文档
  2. 搜索 Issues
  3. 创建新的 Issue

注意: 这是一个开源项目,欢迎社区贡献和反馈!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_tbase_admin-1.1.3.tar.gz (87.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_tbase_admin-1.1.3-py3-none-any.whl (64.0 kB view details)

Uploaded Python 3

File details

Details for the file django_tbase_admin-1.1.3.tar.gz.

File metadata

  • Download URL: django_tbase_admin-1.1.3.tar.gz
  • Upload date:
  • Size: 87.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for django_tbase_admin-1.1.3.tar.gz
Algorithm Hash digest
SHA256 6fc6a91941ee7b20fbc033cc41ac294335dfe8bfa1bb0787cef05143f6768adc
MD5 2d8f5d8688a9d6cb15fd12a991561593
BLAKE2b-256 d2d07d1bb1c4ce2a966c6c1ccfb014c993955c6f6f225de8f289fa00f1be4995

See more details on using hashes here.

File details

Details for the file django_tbase_admin-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_tbase_admin-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb3eec077c00927f739a91b97b1a40c7d6ecb530493b7e7d96a6e38a82624875
MD5 61e99452a7ef72344ce8951a74d6b086
BLAKE2b-256 be52e06f2478db39702928be5b164ddc65d7f3f73a7f8b83bb7f43cbb616b5fc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.3 This release

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page