--- title: "TikTok PM - Python Django 项目" type: source tags: [django, python, tiktok, mysql, mariadb, docker, bright-data, django-q, product-management] date: 2025-11-24 last_updated: 2026-05-12 --- ## Source File - [[raw/Others/TikTok PM - Python Django Project.md]] ## Summary(用中文描述) - 核心主题:TikTok Shop 产品数据管理系统的完整 Django Web 应用开发教程 - 问题域:电商产品数据抓取、存储、管理与可视化分析 - 方法/机制:Django ORM + MySQL + Django REST Framework + Docker 容器化部署 + Bright Data API 异步数据抓取 + Django-Q 任务队列 - 结论/价值:提供从零构建 TikTok 电商产品管理系统的完整技术方案,含 Admin 后台(富文本/缩略图/模态框)、REST API、Docker 生产部署、异步任务队列、JSON 批量导入管理命令 ## Key Claims(用中文描述) - Django Admin 可通过 django-tinymce 富文本编辑器、自定义 Admin 视图、内联关联模型(ProductImage/ProductVideo/ProductVariation/ProductReview)实现复杂产品管理界面 - Admin 列表页可通过自定义方法显示产品缩略图,并通过 django.jQuery + 模态框 CSS/JS 实现点击放大功能 - Django REST Framework + django-filter 可快速构建支持快速搜索和多条件过滤的 RESTful API,供 n8n 等自动化工具调用 - Docker + Gunicorn + Nginx 容器化部署方案通过 `docker compose up --build -d` 实现原子性部署和零停机版本更新 - Django-Q 异步任务队列可处理 Bright Data 异步 API 调用,实现不阻塞 Web 请求的产品数据抓取与导入 - 自定义 Django Management Command 可将 JSON 文件批量导入逻辑封装为 `python manage.py import_json_data` 命令 - 自定义 Admin 视图可通过 `get_urls()` 注册自定义路由,并通过面包屑导航融入 Admin 体系 ## Key Quotes > "无论修改字段类型、添加新字段,还是像您这样修改字段约束(例如从非空改为可空 null=True),都必须遵循这两步流程:makemigrations + migrate" — Django 数据库迁移最佳实践 > "原子性部署:docker compose up --build -d 确保了所有依赖项和配置都会在新镜像中构建好,如果构建失败,旧服务不会受到影响" — Docker 生产部署最佳实践 > "自定义管理命令可以将 importer_wrapper.py 包装成 python manage.py import_json_data 的形式执行手动导入 JSON 文件" — Django Management Command 最佳实践 ## Key Concepts - [[Django ORM]]:通过 Python 类定义数据库表结构,Django 自动生成 SQL 并管理迁移 - [[Django REST Framework]]:构建 RESTful API 的 Django 第三方框架,支持序列化器、视图集、过滤和搜索 - [[Docker 容器化部署]]:使用 Dockerfile + docker-compose.yml 实现应用容器化,结合 Gunicorn + Nginx 进行生产部署 - [[Django Admin 定制]]:通过 fieldsets、inlines、readonly_fields、list_display、自定义视图实现复杂管理界面 - [[Django-Q 异步任务]]:Django 异步任务队列,用于处理耗时的外部 API 调用 - [[Bright Data API]]:第三方数据抓取服务,支持异步请求模式,适合大规模产品数据采集 - [[MySQL / MariaDB 数据库]]:项目使用 MySQL/MariaDB 作为后端数据库,存储 TikTok 产品数据 - [[Django Management Command]]:自定义 Django 命令行工具,将 Python 脚本封装为 manage.py 子命令 - [[Django Admin 自定义视图]]:通过 get_urls() 注册自定义视图页面,融入 Admin 导航体系 ## Key Entities - [[TikTok Shop]]:电商平台,数据来源 - [[Django]]:Python Web 框架 - [[Bright Data]]:第三方数据抓取 API 提供商 - [[MySQL / MariaDB]]:关系型数据库 - [[Docker]]:容器化平台 - [[Gunicorn]]:Python WSGI HTTP 服务器 - [[Nginx]]:反向代理和静态文件服务 - [[n8n]]:自动化工作流工具(通过 REST API 集成) - [[Django-Q]]:Django 异步任务队列 - [[Django TinyMCE]]:Django 富文本编辑器集成 ## Connections - [[Django REST Framework]] ← builds_on ← [[Django ORM]] - [[Docker 容器化部署]] ← extends ← [[Gunicorn]] + [[Nginx]] - [[Django-Q 异步任务]] ← used_by ← [[Bright Data API]] - [[Django Admin 自定义视图]] ← part_of ← [[Django Admin 定制]] - [[Django Management Command]] ← wraps ← JSON 数据导入逻辑 - [[MySQL / MariaDB]] ← stores ← TikTok 产品数据 ## Contradictions - 暂无发现与其他 Wiki 页面的冲突