django-admin登录窗口添加验证码功能-(替换原有的login.html)captcha插件
    		       		warning:
    		            这篇文章距离上次修改已过427天,其中的内容可能已经有所变动。
    		        
        		                
                要在Django的admin登录窗口中添加验证码功能,你可以使用django-simple-captcha库。以下是实现这个功能的步骤和示例代码:
- 安装django-simple-captcha:
pip install django-simple-captcha- 将captcha添加到你的INSTALLED_APPS设置中。
- 运行manage.py captcha来生成所需的图片和JS文件。
- 修改admin登录模板,通常是admin/login.html,以包含验证码表单。
以下是一个简化的login.html示例,它集成了captcha:
{% extends "admin/login.html" %}
{% load captcha_tags %}
 
{% block extrastyle %}
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}captcha/css/captcha.css">
{% endblock %}
 
{% block content %}
<form method="post" action="{% url 'admin:login' %}">
    {% csrf_token %}
    {{ form.as_p }}
    <div>
        {% simple_captcha %}
    </div>
    <input type="submit" value="{% trans 'Log in' %}">
</form>
{% endblock %}
 
{% block extrastyle %}
<script type="text/javascript" src="{{ MEDIA_URL }}captcha/js/captcha.js"></script>
{% endblock %}确保你的urls.py包含了captcha的URL配置:
urlpatterns = [
    # ...
    path('captcha/', include('captcha.urls')),
]这样,当你访问admin登录页面时,就会出现一个验证码输入框。用户必须正确输入验证码才能登录。
评论已关闭