django-turnstile安装与配置指南
项目概述
django-turnstile 是一个用于集成 Cloudflare Turnstile 验证服务的 Django 应用,它提供了一个验证小部件到您的Django表单中,从而增强web表单的安全性,防范机器人和自动化脚本的攻击。本指南基于 https://github.com/zmh-program/django-turnstile。
1. 项目目录结构及介绍
以下是django-turnstile的基本目录结构及其简要说明:
django-turnstile/
├── AUTHORS.txt # 作者信息
├── CHANGELOG.md # 变更日志
├── CONTRIBUTING.md # 贡献指南
├── LICENSE # 许可证文件,采用MIT License
├── MANIFEST.in # 包含打包时需要额外加入的文件
├── README.md # 项目简介文档
├── requirements.txt # 项目依赖列表
├── setup.cfg # 设置配置文件
├── setup.py # 安装脚本
└── turnstile # 主应用包
├── __init__.py # 包初始化文件
├── admin.py # Django管理界面相关的代码
├── apps.py # 应用配置
├── migrations # 数据库迁移文件夹
│ └── __init__.py
├── models.py # 数据模型(本项目可能不涉及或仅涉及配置)
├── tests.py # 自动化测试代码
└── widgets.py # Turnstile验证小部件实现
2. 项目的启动文件介绍
在使用django-turnstile之前,您需要有一个运行的Django项目。虽然直接操作“启动文件”通常指的是 manage.py
,但在集成 django-turnstile 的上下文中,重要的是理解如何通过Django的常规流程添加和激活该应用。
添加到你的Django项目
-
安装: 首先,通过pip安装django-turnstile。
pip install django-turnstile
-
更新设置: 然后,在你的Django项目的
settings.py
文件中添加'turnstile'
到INSTALLED_APPS
列表。INSTALLED_APPS = [ ..., 'turnstile', ]
-
配置: 对于生产环境,您需替换默认的dummy keys为从Cloudflare获取的真实Site Key和Secret Key,并可按需配置其他选项。
3. 项目的配置文件介绍
基础配置
在你的Django settings.py
文件里,除了添加应用程序外,还需要进行必要的配置来启用Turnstile验证服务:
-
基本配置:
TURNSTILE_SITEKEY = '<your sitekey>' TURNSTILE_SECRET = '<your secret key>'
-
可选全局配置:
TURNSTILE_DEFAULT_CONFIG = { 'onload': 'name_of_js_function', 'render': 'explicit', 'theme': 'dark', 'size': 'compact', }
-
定制API端点和代理: 若需要自定义Turnstile的API地址或使用代理服务器,可以这样配置:
TURNSTILE_JS_API_URL = 'https://challenges.cloudflare.com/turnstile/v0/api/js' TURNSTILE_VERIFY_URL = 'https://challenges.cloudflare.com/turnstile/v0/siteverify' TURNSTILE_PROXIES = {'http': 'http://127.0.0.1:8000'}
至此,您已成功设置了基础的django-turnstile配置,接下来可以在表单中使用这个验证小部件来加强表单的安全性。
请注意,实际开发中还需要结合具体应用场景,调整和优化配置。希望这份指南对您整合使用django-turnstile有所帮助。