Exemple #1
0
def regist(request,template_name='user.regist.tpl'):
    next_url = request.GET.get("next")
    if request.method == 'POST':
        form = RegistForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            if _email_not_exists(email):
                pwd = form.cleaned_data['password']
                repwd = form.cleaned_data['repassword']
                if pwd != repwd:
                    form.errors['msg'] = u"两次密码不一致!"
                else:
                    ip = get_client_ip(request)
                    user = User.objects.create()
                    user.email = email
                    password = make_password(pwd)
                    user.password = password
                    user.regist_ip = ip
                    user.last_login_ip = ip
                    try:
                        user.save()
                        fortune = Fortune(user=user,total=10,active_point=10,left=10)
                        fortune.save()
                    except Exception,e:
                        form.errors['msg'] = u"注册失败,请重试"
                    else:
                        if request.user.is_authenticated():
                            logout(request)
                        user = authenticate(email=email,password=pwd)
                        auth_login(request,user)
                        if next_url:
                            return redirect(next_url)
                        return redirect("/")
            else:
                form.errors['msg'] = u"email已经被注册啦!"
Exemple #2
0
def comment(request):
    response = HttpResponse()
    
    f = CommentForm(request.POST)
    if f.is_valid():
        comment = f.save(commit=False)
        
        comment.content = process_comment(comment.content)
        comment.visible = True
        comment.ip = get_client_ip(request)
        
        if BlackList.objects.filter(ip_address=comment.ip).count() != 0:
            response.write("0")
            return response
        
        if settings.ENABLE_COMMENT_CHN and check_is_robot(comment.content):
            response.write("-1")
            return response
        
        access_gravatar = False
        if not comment.avatar or len(comment.avatar.strip()) == 0:
            email_hash = hashlib.md5(comment.email_address.strip()).hexdigest()
            try:
                avatar_url = 'http://www.gravatar.com/avatar/%s?s=40&d=404' % email_hash
                urllib2.urlopen(avatar_url)
                comment.avatar = avatar_url
                access_gravatar = True
            except urllib2.URLError:
                comment.avatar = ''
        
        comment.save()
        # Handle the session to store the comment info
        if not access_gravatar:
            handle_session(request, True)
        else:
            handle_session(request, True, avatar=comment.avatar)
        
        response.write(str(comment.id))
    else:
        response.write("0")
    
    return response
Exemple #3
0
def update_last_login(sender, request, user, **kwargs):
    user.last_login_time = time.time()
    user.login_times += 1
    user.last_login_ip = get_client_ip(request)
    user.is_active = True
    user.save()
Exemple #4
0
def update_last_login(sender, request, admin, **kwargs):
    admin.last_login_time = datetime.datetime.now()
    admin.login_times += 1
    admin.last_login_ip = get_client_ip(request)
    admin.save()