安装验证码库
pip install django-simple-captcha==0.4.6
在项目根目录的urls配置
url(r'^captcha/', include('captcha.urls')),
在settings的INSTALL_APPS注册,然后在应用下的form.py中引用验证码
from django import forms from captcha.fields import CaptchaField class RegisterForm(forms.Form): email = forms.CharField(required=True) password = forms.CharField(required=True) captcha = CaptchaField(error_messages={'invalid':'验证码错误'})
在urls.py 配置注册url, 并在view.py 处理相关逻辑
class RegisterView(View): def get(self, request): register_form = RegisterForm() # 将验证码发送到前端 return render(request, 'register.html', {'register_form': register_form}) def post(self, request): register_form = RegisterForm(request.POST) # 将上一次的错误信息传递过来 if register_form.is_valid(): email = request.POST.get('email', '') password = request.POST.get('password', '') user = UserProfile() user.email = email user.username = email user.password = make_password(password) # 对密码进行加密存入数据库 user.save() return render(request, 'index.html') else: return render(request, 'register.html', {'register_form': register_form})