Python 在Django的用户注册页面上包含验证码

Python 在Django的用户注册页面上包含验证码,python,django,django-models,django-templates,captcha,Python,Django,Django Models,Django Templates,Captcha,我是Django新手。我创建了一个有用户登录/注册页面的应用程序。现在我想在注册页面中加入验证码。有谁能指导我如何在Django中实现这一点,因为我对它很陌生。在谷歌搜索中,我发现有很多模块都是开箱即用的。如果是这样,那么哪个应用程序是更好的选择?我还发现,其中大多数是在使用Django表单的基础上解释的。但是我使用了简单的HTML表单而不是Django表单。任何帮助都将不胜感激。如果你愿意,你可以自己写一封。实际上,您所做的只是在视图中生成一个数字/单词,以某种不友好的方式(例如图像)将其嵌入

我是Django新手。我创建了一个有用户登录/注册页面的应用程序。现在我想在注册页面中加入验证码。有谁能指导我如何在Django中实现这一点,因为我对它很陌生。在谷歌搜索中,我发现有很多模块都是开箱即用的。如果是这样,那么哪个应用程序是更好的选择?我还发现,其中大多数是在使用Django表单的基础上解释的。但是我使用了简单的HTML表单而不是Django表单。任何帮助都将不胜感激。

如果你愿意,你可以自己写一封。实际上,您所做的只是在视图中生成一个数字/单词,以某种不友好的方式(例如图像)将其嵌入模板中,然后在表单发回时对其进行验证

如果您使用的是html表单而不是django表单,那么仍然可以使用django简单验证码

类似问题:

试试看:

我喜欢,而且很容易集成


是我为在表单中集成Google的reCAPTCHA而编写的教程。希望有帮助。

关于哪种第三方解决方案“更好”的问题是主观的,stackoverflow通常不喜欢回答主观的问题。花些时间,根据您的需要对每一项进行评估

您通常不需要花哨的图像验证码。即使是一个简单的问题,比如“橙色是什么颜色?”也能阻止大多数垃圾机器人。我在我的注册表格上提出了一个简单的问题,要求用户键入网站的域名。简单但非常有效。您还可以在表单上包含一个输入框,并使用CSS将其隐藏(
display:none
)。如果您填写了此输入,则很可能有机器人正在尝试注册


这些第三方解决方案使用Django表单,而您使用的是“简单HTML”,这并不重要。在注册视图中,您只需处理
请求。POST
。表单是如何生成的并不重要。

我按照中的说明使用python客户端创建了一个自定义的reCAPTCHA小部件和字段。然后,您可以使用以下方法将其添加到表单中:

recaptcha = ReCaptchaField()