django-admin登录窗口添加验证码功能-(替换原有的login.html)captcha插件
要在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登录页面时,就会出现一个验证码输入框。用户必须正确输入验证码才能登录。
评论已关闭