django验证码

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> 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值