1:安装 pip install django-simple-captcha
2:在setting.py中加入 'captcha'
3:在urls.py中加入 url(r'^captcha/', include('captcha.urls')),
4:在views.py
def login(request):
'''
用户登录
'''
form = LoginForm(request.POST)
if request.method == 'POST':
if form.is_valid():
human = True
name = Register.objects.filter(name__exact=form.cleaned_data["name"])
password = Register.objects.filter(password__exact=form.cleaned_data["password"])
if name and password:
request.session['name']=name
name = request.session.get('name', None)
return HttpResponseRedirect('/user/')
else:
return HttpResponse('用户名不存在或密码错误!!!');
else:
return render_to_response('login/login.html', locals(), context_instance=RequestContext(request))
if request.GET.get('newsn')=='1':
csn=CaptchaStore.generate_key()
cimageurl= captcha_image_url(csn)
return HttpResponse(cimageurl)
elif request.method == 'GET':
form = LoginForm(request.GET)
return render_to_response('login/login.html', locals(), context_instance=RequestContext(request))
return HttpResponseRedirect("/login/")
红色部分,绿色部分应该注意:
html:
<div class="control-group"> <label class="control-label" for="inputphone">验证码:</label> <div class="controls"> {{form.captcha}} <br> <button id='js-captcha-refresh' type="button">刷新验证码</button> <script> $('#js-captcha-refresh').click(function(){ $.get("?newsn=1", function(result){ $('.captcha').attr("src",result); $('#id_captcha_0').attr("value",result.split('/')[3]); }); return false; }); </script> <span style="color:red;"> {{form.captcha.errors}}</span> </div> </div>