关于 integration-django
此技能帮助 Django 应用集成 PostHog 分析,结合分阶段配置流程和示例代码,提供中间件、事件追踪、用户识别及错误捕获指南。
主要功能
- 01四步集成流程
- 02Django 与 PostHog 参考资料
- 03通过中间件追踪并捕获异常
- 04事件追踪与用户识别
- 05通过环境变量管理密钥
适用场景
- 01为 Django 应用添加 PostHog 分析
- 02通过 Django 中间件捕获异常
- 03追踪登录和注册活动
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ posthog/ skills --skill integration-django安装后在 Claude Code 中输入/integration-django确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/basic-integration-1.0-begin.mdbasic-integration-1.1-edit.mdbasic-integration-1.2-revise.mdbasic-integration-1.3-conclude.mddjango.mdEXAMPLE.mdidentify-users.md详细介绍
Django 的 PostHog 集成
此技能可帮助你为 Django 应用添加 PostHog 分析功能。
工作流
按顺序完成以下步骤,以完成集成:
basic-integration-1.0-begin.md- PostHog 设置 - 开始 ← 从这里开始basic-integration-1.1-edit.md- PostHog 设置 - 编辑basic-integration-1.2-revise.md- PostHog 设置 - 修订basic-integration-1.3-conclude.md- PostHog 设置 - 总结
参考文件
references/EXAMPLE.md- Django 示例项目代码references/django.md- Django - 文档references/identify-users.md- 识别用户 - 文档references/basic-integration-1.0-begin.md- PostHog 设置 - 开始references/basic-integration-1.1-edit.md- PostHog 设置 - 编辑references/basic-integration-1.2-revise.md- PostHog 设置 - 修订references/basic-integration-1.3-conclude.md- PostHog 设置 - 总结
示例项目展示了目标实现模式。请参阅文档了解 API 详情。
核心原则
- 环境变量:始终使用环境变量存储 PostHog 密钥。切勿将其硬编码。
- 最小改动:在现有集成旁添加 PostHog 代码。不要替换或重构现有代码。
- 遵循示例:实现应尽可能遵循示例项目中的模式。
框架指南
- 将 'posthog.integrations.django.PosthogContextMiddleware' 添加到 MIDDLEWARE,它会自动提取追踪标头并捕获异常
- 在 AppConfig.ready() 中使用环境变量中的 api_key 和 host 初始化 PostHog
- 使用上下文 API 模式:调用 new_context()、identify_context(user_id),然后调用 capture()
- 对于登录/登出视图,请创建新上下文,因为用户状态会在请求期间发生变化
- 不要创建自定义中间件、distinct_id 辅助函数或条件检查——SDK 会处理这些
- 请记住,源代码位于 venv/site-packages 目录中
- posthog 是 Python SDK 的包名
- 使用
pip install posthog或pip install -r requirements.txt安装依赖项;不要在 shell 命令中直接使用未加引号的版本说明符,例如>= - 在 CLI 和脚本中:退出前必须调用 posthog.shutdown(),否则所有事件都会丢失
- 始终使用 Posthog() 类构造函数(基于实例的 API),而不是模块级的 posthog.api_key 配置
- 始终在 Posthog() 构造函数中包含 enable_exception_autocapture=True,以自动追踪异常
- 绝不要在 capture() 事件属性中发送 PII——包括电子邮件、全名、电话号码、实际地址、IP 地址或用户生成的内容
- PII 应放在 identify() 的人员属性中,而不是 capture() 的事件属性中。安全的事件属性包括 message_length、form_type、布尔标记等元数据。
- 注册 posthog_client.shutdown 和 atexit.register(),确保退出时刷新所有事件
- Python SDK 没有 identify() 方法——请使用 posthog_client.set(distinct_id=user_id, properties={...}) 设置人员属性,或在上下文中使用 identify_context(user_id)
识别用户
在登录和注册事件期间识别用户。请参阅示例代码和文档,了解此框架的正确识别模式。如果同时存在前端和后端代码,请通过 X-POSTHOG-DISTINCT-ID 和 X-POSTHOG-SESSION-ID 标头传递客户端会话和 distinct ID,以保持关联。
错误追踪
在相关文件中添加 PostHog 错误追踪,尤其是在关键用户流程和 API 边界附近。
评论
支持 Markdown