def login(request): if request.method == 'GET': # return render(request,'login.html') raise Http404("你所访问的页面不存在") return render_to_response('404.html', status=404) if request.method == 'POST': username = request.POST['name'] # 前端发送过来的学生学号/老师用户名 pwd = request.POST['pwd'] print(username, type, pwd) obj = models.User.objects.all().values('name') stm = {'name': username} if stm not in obj: print("not exist") return HttpResponse("not exist") else: obj1 = models.User.objects.get(name=username) print("typedenglu", type(obj1)) print('yonghuming', obj1.name, 'xxxx', obj1.nickname, obj1.has_confiremed) if not obj1.has_confiremed: print("not confirm") return HttpResponse("not_confirm") if check_password(pwd, obj1.password): request.session['user_info'] = obj1.name stu = HttpResponse("/mycloud/mypage/") stu.set_cookie('name', username, httponly=False) stu.set_cookie('pwd', pwd, httponly=False) return stu if not check_password(pwd, obj1.password): return HttpResponse("password error")
def login_logic(request): try: username = request.POST.get('txtUsername') password = request.POST.get('txtPassword') remember = request.POST.get('autologin') key = TUser.objects.get(user_email=username).user_status pwd = password + key hash = hashlib.sha256() hash.update(pwd.encode()) hash_pwd = hash.hexdigest() result = TUser.objects.filter(user_email=username, user_password=hash_pwd) print(result) if result: request.session['login'] = '******' request.session['username'] = username response = HttpResponse('1') if remember: response.set_cookie('username', username.encode('utf-8').decode('latin-1'), max_age=3 * 24 * 60 * 60) response.set_cookie('password', password, max_age=3 * 24 * 60 * 60) print(2) return HttpResponse('2') return response else: print(0) return HttpResponse('0') except: return render(request, '404.html')
def set_cookie(request): if request.method == 'GET': callback = request.GET.get("jsoncallback") session_id = request.GET.get("session_id", "") KLID = request.GET.get("KLID", "") return_callback = "TestJson2" + '(["A", "b", "c"], "bbb")' rp = HttpResponse(return_callback) cookie_expires_date = datetime.datetime.now() + datetime.timedelta( days=config.session_cookie_expires / 86400) if all((session_id, KLID)): domain = request.environ.get('HTTP_HOST') # redis_conn.set("fruler_session_id", session_id) # redis_conn.expire("fruler_session_id", config.session_redis_expires/86400) # redis_conn.set("fruler_KLID", KLID) # redis_conn.expire("fruler_KLID", config.session_redis_expires/86400) rp.set_cookie("session_id", session_id, path='/', expires=cookie_expires_date, domain=domain) rp.set_cookie("KLID", KLID, path='/', expires=cookie_expires_date, domain=domain) return rp elif request.method == 'POST': return HttpResponse("auth user POST ")
def login_verify(request): username = request.POST.get('username') password = request.POST.get('pwd') password1 = password print(password, type(password)) num = request.POST.get('num') if username == '' or password == '': return HttpResponse('账号或密码不能为空') u = TUser.objects.filter(name=username) if u: if u[0].is_active: sha = hashlib.sha1() #声明sha1对象 sha.update((u[0].salt + password).encode()) password2 = sha.hexdigest() if password2 != u[0].password: return HttpResponse('账号或密码错误') request.session['is_login'] = True request.session['username'] = username resp = HttpResponse('登录成功') if num: username = username.encode('utf-8').decode('latin-1') pwd = password1.encode('utf-8').decode('latin-1') resp.set_cookie('username', username, max_age=3600 * 24 * 7) resp.set_cookie('password', pwd, max_age=3600 * 24 * 7) return resp else: print(111) return HttpResponse("账号未激活") return HttpResponse('账号或密码错误')
def login_handler(request): print("success") a = request.POST userName = a.get('username') passWord = a.get('password') if hasattr(request, 'session'): request.session['user_id'] = userName # 创建session对象: dburl = 'mysql+mysqlconnector://root:140810@localhost:3306/voc' DBSession = connectDB(dburl) session = DBSession() print(userName) print(passWord) try: user = session.query(User).filter(User.user_id == userName).one() except Exception: print("error") return HttpResponse(json.dumps({"login": cfg.USER_NOTEXIST})) finally: session.close() print(user.user_pwd) if user.user_pwd == passWord: # 设置cookie和session if user.permission == 1: res = HttpResponse(json.dumps({"login": cfg.LOGIN_ADMIN_SUCCESS})) else: res = HttpResponse(json.dumps({"login": cfg.LOGIN_SUCCESS})) res.set_cookie("username", userName, expires=cfg.COOKIE_EXPIRE) res.set_cookie("password", passWord, expires=cfg.COOKIE_EXPIRE) return res else: return HttpResponse(json.dumps({"login": cfg.PWD_INCORRECT})) session.close()
def registlogic(request): username = request.POST.get('txt_username') password = request.POST.get('txt_password') captcha = request.POST.get('txt_vcode') codes = request.session.get('codes') m = hashlib.sha256() yan = username m.update(password.encode() + yan.encode()) ox = m.hexdigest() print(ox) # print(username,password) try: with transaction.atomic(): if captcha.lower() == codes.lower(): TUser.objects.create(user_email=username, user_name=username, user_password=ox, user_status=1) res = HttpResponse('ok') res.set_cookie('username', username, max_age=7 * 24 * 3600) request.session['register'] = username return HttpResponse('ok') return HttpResponse('error') except: return HttpResponse('error')
def register(request): if request.method == "POST": msg = handler.BaseResponse() form = forms.RegisterForm(request.POST) if form.is_valid(): _reg_values = form.cleaned_data current_time = datetime.datetime.now() c = models.SendMsg.objects.filter(last_time__gt=(current_time - datetime.timedelta(minutes=1))).count() if not c: msg.status = False msg.errors = {"verification_code":[{"message":"你的验证码已经失效"}]} return HttpResponse(json.dumps(msg.__dict__)) else: u_c = models.UserInfo.objects.filter(Q(user=_reg_values["user"])|Q(email=_reg_values["email"])) if u_c: msg.status = False msg.summary = "用户名或者邮箱已经注册过" return HttpResponse(json.dumps(msg.__dict__)) else: _reg_values.pop("verification_code") models.UserInfo.objects.create(**_reg_values) models.SendMsg.objects.filter(email=_reg_values["email"]).delete() request.session["is_login"] = True request.session["user"] = _reg_values rep = HttpResponse(json.dumps(msg.__dict__)) rep.set_cookie("user",_reg_values["user"]) return rep else: msg.status = False msg.errors = json.loads(form.errors.as_json()) return HttpResponse(json.dumps(msg.__dict__))
def test_view(request): if 'data' in request.COOKIES: response = HttpResponse('Cookies found') else: response = HttpResponse('Cookies not found') response.set_cookie('data', 'confidential') return response
def login_views(request): if request.method == 'GET': if islogin(request): return redirect('/index') return render(request, 'login.html') elif request.method == 'POST': uphone = request.POST.get('uphone') upwd = request.POST.get('upwd') user = UserInfo.objects.filter(uphone=uphone, upwd=upwd) if user: user = user[0] user.save() url = HttpResponse(json.dumps({'status': '1'})) request.session['id'] = user.id request.session['uname'] = user.uname if request.POST['apwd'] == 'T': url.set_cookie('id', user.id, 60 * 60 * 24 * 366) url.set_cookie('uname', user.uname, 60 * 60 * 24 * 366) return url else: return HttpResponse(json.dumps({'status': '0'})) else: dic = { 'error': '手机号或密码错误', } print(json.dumps(dic)) return HttpResponse(json.dumps(dic))
def login(request): re = {'error': 0, 'data': ()} try: # print(request) print(request.POST) username = request.POST.get('username') pwd = request.POST.get('pwd') sqlstr = ("select id,name,password from user where name='%s';" % username) # print(sqlstr) user = sql.select(sqlstr) print(user) re = user response = HttpResponse(json.dumps(re)) if (re['error'] == 0): if (len(user['data']) == 0): re['error'] = 1 re['data'] = '用户名错误' response = HttpResponse(json.dumps(re)) elif (user['data'][0]['password'] != pwd): re['error'] = 1 re['data'] = '密码错误' response = HttpResponse(json.dumps(re)) else: #登陆成功 response.set_cookie('userid', re['data'][0]['id']) except Exception as e: re['error'] = 1 re['data'] = '后台错误' response = HttpResponse(json.dumps(re)) print(e) traceback.print_exc() return response
def logout(request): if request.method == "POST": username = request.POST.get('username', None) session_id = request.COOKIES.get('session_id') try: user = models.user.objects.get(username=username) if user.session_id != session_id: response = HttpResponse(json.dumps( {'error': 'session expiration'}), content_type='application/json') response.status_code = 401 response.set_cookie('session_id', '') user.session_id = '' user.save() return response else: user.session_id = '' user.save() response = HttpResponse(json.dumps({'message': 'ok'}), content_type='application/json') response.status_code = 200 response.set_cookie('session_id', '') return response except: response = HttpResponse(json.dumps({"error": "no such a user"}), content_type='application/json') response.status_code = 401 return response response = HttpResponse(json.dumps({"error": "require POST"}), content_type='application/json') response.status_code = 401 return response
def login(request): if request.method == "POST": username = request.POST.get('username', None) password = request.POST.get('password', None) try: user = models.user.objects.get(username=username) print(user) if user.password == password: temp = bytes(username, 'utf-8') user.session_id = base64.b64encode(temp) user.save() response = HttpResponse(json.dumps({ 'username': username, 'userid': user.userid }), content_type='application/json') response.status_code = 200 response.set_cookie('session_id', user.session_id) return response else: response = HttpResponse(json.dumps( {"error": "password is wrong"}), content_type='application/json') response.status_code = 401 return response except: response = HttpResponse(json.dumps({"error": "no such a user"}), content_type='application/json') response.status_code = 401 return response response = HttpResponse(json.dumps({"error": "require POST"}), content_type='application/json') response.status_code = 401 return response
def index(request): if request.method == 'POST': fruit = request.POST.getlist('fruit') response = HttpResponse('ok') response.set_cookie('fruit', fruit) return response is_login = request.COOKIES.get('is_login') if is_login: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 获取上一次的访问时间,如果可以获取到key值,就以key值为准,如果获取不到key值,默认为空 last_time = request.COOKIES.get('last_time', '') fruit = request.COOKIES.get('history', '') print('fruit', fruit) # 设置当前时间为最后登录时间,设置cookie值last_time,下次登录时取该值,作为上次登录时间显示 response = render(request, 'index.html', locals()) response.set_cookie('last_time', now) username = request.COOKIES.get('username') fruit = request.COOKIES.get('fruit') print('username', username) print('fruit', fruit) return response else: return redirect('/login/')
def login(request): if request.method == 'POST': login_form = LoginForm(request.POST) if login_form.is_valid(): username = request.POST.get('username') user_color = request.POST.get('user_color') # print(username) # print(user_color) message = '登录成功' response = HttpResponse(message) try: if username: response.set_cookie('username', username) if user_color: response.set_cookie('usercolor', user_color.encode('utf-8')) except: pass messages.add_message(request, messages.SUCCESS, message) return response else: messages.add_message(request, messages.SUCCESS, '登录失败') return render(request, 'app01/login.html', {'login_form': login_form}) login_form = LoginForm() username = request.COOKIES.get('username') return render(request, 'app01/login.html', {'login_form': login_form, 'username': username})
def watch(request): response = HttpResponse(status=200) session = request.COOKIES.get('_sc', None) if not session: session = uuid.uuid4().hex response.set_cookie('_sc', session, max_age=60 * 60 * 24 * 365) http_referer = request.META.get('HTTP_REFERER', None) if not http_referer: return response url_parts = urlparse(http_referer) path_parts = utils.strip_path(url_parts.path) if len(path_parts) > 1: path = path_parts[1] else: path = path_parts[0] ignore = False query = url_parts.query url_hash = hashlib.md5((path + query).encode('utf-8')).hexdigest() before = (datetime.datetime.now() - datetime.timedelta(minutes=URL_TIMEOUT)) # if models.PageView.objects.filter(datetime__gt=before, session=session, url_hash=url_hash).exists(): # ignore = True user = None if request.user.is_authenticated(): user = request.user if session and not ignore: models.log_page_view(path=path, query=query, url_hash=url_hash, session=session, user=user) return response
def add_to_cart(request, tmplate_name = "index22.html"): if request.user.is_authenticated(): postdata = request.POST.copy() prod_name = postdata.get('prod_name', '') power = float(postdata.get('opt_power','').replace(',','.')) rad = float(postdata.get('radius','').replace(',','.')) queryset = Linses.objects.all() queryset = queryset.filter(fk_product__product_name__exact = prod_name) queryset = queryset.filter(optical_power__exact = power) queryset = queryset.filter(radius_of_cutvature__exact = rad) qr = Product.objects.get(product_name = prod_name) qs = qr.pk_product_id request.session.__setitem__('cart', False) # qs = qr.fk_product.pk_product_id response = HttpResponse() response.set_cookie('cart', value=False) if request.session['cart'] == False: us = request.user.id aus = AuthUser.objects.get(id = us) order1 = Order(order_status = 5, order_date = datetime.date.today(), fk_user = aus ) order1.save() i = order1.pk_order_id request.session["cart"] = True request.session.__setitem__('cart_id', i) order_prod1 = OrderProduct(fk_order = Order.objects.get(pk_order_id = i), fk_product = qr) product_for_saving = Product.objects.get(pk_product_id = qs) product_for_saving.balance = F('balance') - 1 product_for_saving.save() order_prod1.save() return render_to_response(template_name="index22.html") return render_to_response()
def icoPage(request): return HttpResponseRedirect('/pub/') try: project = PM_Project.objects.get(pk=495) except PM_Project.DoesNotExist: project = PM_Project.objects.all()[0] c = RequestContext( request, { 'tasksQty': PM_Task.objects.filter(closed=True).count(), 'projects_qty': PM_Project.objects.filter(public=True).count(), 'developers_qty': PM_User.objects.filter( blockchain_wallet__isnull=False).count(), 'donations_qty': PM_Project_Donation.objects.count(), 'milestones': project.milestones.filter(closed=False, donated=False).order_by('date'), 'w': request.GET.get('w', '') }) response = HttpResponse( loader.get_template('public/ico.html').render(c)) ref = request.GET.get('r', None) if ref: response.set_cookie('partner_id', ref) return response
def log_sub(request): # 登录的表单提交 phone_number = request.POST.get('phone_number') password = hashlib.md5( request.POST.get('password').encode("utf-8")).hexdigest() # 对密码加密 collection = client.account_info.user user = collection.find_one( {"$and": [{ "phone_number": phone_number }, { "password": password }]}) # 校验用户信息 if user: # 校验成功,生成cookies,打开个人中心页面 response = HttpResponse('200') response.set_cookie("user_info", { "phone_number": phone_number, "password": password }) return response else: # 校验失败,返回错误码202——用户不存在或密码错误 return HttpResponse('202')
def set_cookie(req): """设置cookie 信息""" resp = HttpResponse('设置 cookie') # 设置一个 cookie,名字为 num,值为 1,两周之后过期 resp.set_cookie('num', 1, max_age=14 * 24 * 3600) # resp.set_cookie('num', 1, expires=datetime.now()+timedelta(days=14)) return resp
def ThumbUp(request): if request.is_ajax(): if request.method == 'GET': id = request.GET.get('id', '') article = models.ArticlesMake.objects.get(id=id) if article is not None: if request.COOKIES.get('0' + str(article.id), False): response = HttpResponse(json.dumps({ 'mg': '你已经点过赞啦', 'tp': str(article.like_num) }), content_type='application/json', status=200) else: article.like_num += 1 article.save() response = HttpResponse(json.dumps({ 'mg': '点赞成功', 'tp': str(article.like_num) }), content_type='application/json', status=200) response.set_cookie('0' + str(article.id), str(article.id), max_age=60 * 60 * 24) return response
def UpdateVideoVIdesView(request,video_id): get_video_objects = get_object_or_404(VsVideos,Videos_id=video_id) VsVideos.objects.filter(Videos_id=video_id).update(Views=F('Views')+1) response = HttpResponse("continue") system_settings = VsSystemSettings.objects.all().first() if request.user.username=="": if not request.COOKIES.get('user_id'): coocki_id = datetime.now() response.set_cookie('user_id', coocki_id) else: coocki_id = request.COOKIES.get('user_id') x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') if system_settings.No_of_videos_watch_befure_login == 0: add_user = VsNonRegisterUser(user_id=coocki_id,Video=get_video_objects,User_ip=ip) add_user.save() else: get_user_watch_video_count = 0 if VsNonRegisterUser.objects.filter(user_id=coocki_id).exists(): get_user_watch_video_count = VsNonRegisterUser.objects.filter(user_id=coocki_id).count() if get_user_watch_video_count < system_settings.No_of_videos_watch_befure_login: add_user = VsNonRegisterUser(user_id=coocki_id,Video=get_video_objects,User_ip=ip) add_user.save() else: response = HttpResponse("break") else: response = HttpResponse("continue") return response
def login(req): if req.method == "GET": return render(req, 'admina/login.html') if req.method == "POST": account = req.POST["account"] passwd = req.POST["passwd"] responseData = {"status": 0, "message": ""} try: admin = models.Admin.objects.get(Account=account) except Exception as e: print(e) responseData["status"] = 0 responseData["message"] = "用户名或密码错误" return HttpResponse(json.dumps(responseData)) else: if admin.Password == passwd: responseData["status"] = 1 responseData["message"] = "登陆成功" admin.Uuid = uuid.uuid1() admin.save() req.session["admin_uuid"] = str(admin.Uuid) response = HttpResponse(json.dumps(responseData)) response.set_cookie('admin_account', admin.Account) return response else: responseData["status"] = 0 responseData["message"] = "用户名或密码错误" return HttpResponse(json.dumps(responseData))
def add_comment(request): import datetime import time print(1) obj = HttpResponse('OK') obj.set_cookie('is_login', 'root') return obj
def login(request): if request.method == "POST": user = request.POST.get("user") pwd = request.POST.get("pwd") user = UserInfo.objects.filter(user=user, pwd=pwd).first() if user: # 登陆成功 ''' 响应体: return HttpResponse() return render() return redirect() ''' response = HttpResponse("登录成功!") # response.set_cookie("is_login",True,max_age=15) response.set_cookie("is_login", True) import datetime # date=datetime.datetime(year=2019,month=8,day=21,hour=23,minute=5, second=10) # response.set_cookie("username",user.user,expires=date) response.set_cookie("username", user.user, path="/cookiesession/index/") return response return render(request, "cookiesession/login.html")
def index(request): # print(request.COOKIES['k1']) # 第一次访问时可能无cookies # 1. 获取response对象 ret = HttpResponse('index ok') # 获取签名cookies # print(request.get_signed_cookie('k1', None, salt='gaoyanbin')) # 设置cookie # ret.set_cookie('k1', 123) # ret.set_signed_cookie(key='k1', value='abcdefghijklmn', salt='gaoyanbin') # 打印cookie # 默认设置的cookies是全局的,也就是其它url中也可取得。 # 添加path后就可以指定哪些url才能得到。 # ret.set_cookie('k1', 8888) ret.set_cookie( 'kkk999', 123456, max_age=10, # 超时时间。以秒为单位,多少秒后失效。 expires=10, # 超时时间。以日期为单位,IE浏览器要设置,目前所有浏览器都支持。这两个只需写一个,Django默认会写上另一个。 path='/cook1/', # 只有在/cook1/下能获取 domain=None, # 只有在当前域名下能获取(默认) secure=False, # 是否使用https传输。 httponly= False, # 当为True时,只能http协议传输。无法用javascript抓取。(不是绝对的,底层抓包可以抓到并覆盖。) ) return ret
def login(request): if request.method == "POST": user = request.POST.get('user') pwd = request.POST.get('pwd') user = UserInfo.objects.filter(user=user, pwd=pwd).first() print(user) if user: # 登陆成功 ''' 响应体: return HttpResponse() return render() return redirect() ''' response = HttpResponse("successfully") response.set_cookie("is_login", True) # response.set_cookie("is_login", True,max_age=15) import datetime # date = datetime.datetime(year=2019,month=8,day=5,hour=3,minute=13,second=10) # response.set_cookie("username",user.user,expires=date) response.set_cookie( "username", user.user, path="/index/", ) print(request.COOKIES) return response return render(request, "login.html")
def login_views(request): form = LoginForm() if request.method =='GET': try: cookies = request.COOKIES uid = cookies.get('uid') uphone = cookies.get('uphone') user = Users.objects.filter(id=uid,uphone = uphone) uname = user[0].uname if user: return HttpResponse('欢迎回来'+uname) else: return render(request,'login.html',locals()) except Exception as e: print(e) return render(request,'login.html',locals()) else: uphone = request.POST.get('uphone') upwd = request.POST.get('upwd') try: user = Users.objects.get(uphone=uphone) if user.upwd == upwd: resp = HttpResponse('登陆成功') if 'remember' in request.POST: resp.set_cookie('uphone',uphone,60*60*24) resp.set_cookie('uid',user.id,60*60*24) return resp else: errMsg = '密码错误' return render(request,'login.html',locals()) except Exception as e: print(e) errMsg = '手机号不存在' return render(request,'login.html',locals())
def index(request): rep = HttpResponse() if not request.COOKIES.get('p1', None): rep.set_cookie('p1', 1) else: print request.COOKIES['p1'] rep.content = 'ok' return rep # 响应
def cross_domain(request): if request.method == 'GET': session_id = request.GET.get("session_id", '1111') hp = HttpResponse("get session_Id") hp.set_cookie("session_id", session_id) return hp elif request.method == 'POST': pass
def sessionview(request): visits = request.session.get('visits', 0) + 1 request.session['visits'] = visits if visits > 4: del request.session['visits'] response = HttpResponse(f'view count={visits}') response.set_cookie('dj4e_cookie', '116ce366', max_age=1000) return response
def login(request): if request.method == 'POST': name = request.POST.get('name') pwd = request.POST.get('pwd') if name == 'lary' and pwd == '123': response = HttpResponse('ok') response.set_cookie('login', 'true') return response return render(request, 'login.html')
def main_cookie(request): # set cookie with specified key/value if request.method == 'POST': response = HttpResponse(status=204) for key, value in request.PATCH.items(): response.set_cookie(key, value, max_age=60 * 60 * 24 * 365 * 10) return response return HttpResponse(status=501)
def set_color(request): if "favorite_color" in request.GET: favorite_color=request.GET['favorite_color'] # Create an HttpResponse object... response = HttpResponse("Your favorite color is now %s" %request.GET["favorite_color"]) # ... and set a cookie on the response response.set_cookie("favorite_color", request.GET["favorite_color"]) #return response return render_to_response('color_form.html',{ 'favorite_color': favorite_color}) elif"favorite_color" in request.COOKIES: #return HttpResponse("Your favorite color is %s" %request.COOKIES["favorite_color"]) return render_to_response('color_form.html', {'favorite_color': request.COOKIES["favorite_color"]}) else: #return HttpResponse("You didn't give a favorite color.") return render_to_response('color_form.html')
def wish(request): if is_login(request): obj=wishlist() obj.ou_id=userac.objects.get(u_id=request.GET['u']) obj.op_id=product.objects.get(p_id=request.GET['p']) obj.qty=1 obj.save() return HttpResponse("ok wishlist added "+request.GET['p']+" "+request.GET['u']) else: obj=HttpResponse("ok wishlist added "+request.GET['p']+" "+request.GET['u']) if "wishitem" in request.COOKIES: pr=request.COOKIES['wishitem'] pr+=","+request.GET['p'] else: pr=""+request.GET['p'] obj.set_cookie("wishitem",pr) return obj
def cartadd(request): if is_login(request): obj=cart() obj.ou_id=userac.objects.get(u_id=request.GET['u']) obj.op_id=product.objects.get(p_id=request.GET['p']) obj.qty=1 obj.save() return HttpResponse("ok cart added "+request.GET['p']+" "+request.GET['u']) else: obj=HttpResponse("ok cart added "+request.GET['p']+" "+request.GET['u']) if "product" in request.COOKIES: pr=request.COOKIES['product'] pr+=","+request.GET['p'] else: pr=""+request.GET['p'] obj.set_cookie("product",pr) return obj
def activate_by_url(request): response = HttpResponse() if 'subscriber' in request.COOKIES: subscriber_id = request.COOKIES['subscriber'] try: subscriber = Subscribers.objects.get(subscriber_id=subscriber_id) if subscriber.state is not CONFIRMED: subscriber.state = CONFIRMED subscriber.save() # Начисление вознаграждения партнеру make_reward_for(subscriber) response.set_cookie('subscriber', None, 0, '/') except Subscribers.DoesNotExist: pass return response
def get_file(request, fid): """ Handle file download. @param fid is the id of the file to be downloaded. If the file is protected, the password given as POST or GET parameter is checked before returning the file. """ # Check password ok, val = check_pwd(request, fid, reverse('get_file', kwargs={ 'fid': fid})) if not ok: return val # Get file description f = File.objects.get(id=fid) # Increase number of downloads f.nb_dl += 1 f.save() # Send file content = "" if f.iv is not None: content = decrypt_file(f, request.GET["key"]) try: # Decrypt filename fname = decrypt_filename(f.title, val, f.iv) except Exception: fname = f.title else: fname = f.title with open(f.path, 'rb+') as fl: content = fl.read() response = HttpResponse(content_type=mimetypes.guess_type(f.title)[0], content=content) response['Content-Disposition'] = 'attachment; filename="%s"' % smart_str(fname) response['Content-Length'] = f.size response.set_cookie(key="fileReady", value=1, path="/dl") # If the file has reached the max number of dl if f.nb_dl >= f.max_dl: # We delete it f.delete() pass return response
def get_works_json(request, lang): ''' /rnr/get_works_json Get works as json, based on filters ''' work_filter_number = request.GET["work_filter_number"] work_filter_pending = request.GET["work_filter_pending"] work_filter_upcoming = request.GET["work_filter_upcoming"] work_filter_completed = request.GET["work_filter_completed"] work_filter_from = request.GET["work_filter_from"] work_filter_to = request.GET["work_filter_to"] work_filter_dict = {"work_filter_number":work_filter_number,\ "work_filter_to":work_filter_to,\ "work_filter_from":work_filter_from,\ "work_filter_pending":work_filter_pending,\ "work_filter_upcoming":work_filter_upcoming, "work_filter_completed":work_filter_completed} query_time = timezone.now() #if checked pending filter q_obj_p = Q(work_start_date__lte = query_time) &\ Q(work_end_date__gt = query_time)\ if work_filter_pending == "true" else Q() #if checked upcoming filter q_obj_u = Q(work_start_date__gt = query_time)\ if work_filter_upcoming == "true" else Q() #if checked completed filter q_obj_c = Q(work_end_date__lt = query_time)\ if work_filter_completed == "true" else Q() #if work number in filter q_obj_df = Q(work_number__icontains = work_filter_number)\ if work_filter_number else Q() #if work date filter from if work_filter_from: work_from_date = datetime.date(*[int(x) for x in work_filter_from.split("-")]) q_obj_ff = Q(work_start_date__gte = work_from_date) else: q_obj_ff = Q() #if work date filter to if work_filter_to: work_to_date = datetime.date(*[int(x) for x in work_filter_to.split("-")]) q_obj_ft = Q(work_start_date__lte = work_to_date) else: q_obj_ft = Q() work_objects = Work.objects.filter(q_obj_p | q_obj_u | q_obj_c).filter(q_obj_df).filter(q_obj_ff).filter(q_obj_ft) list_works=[] for work in work_objects: dict_work={} dict_work["slug"] = work.slug dict_work["work_number"] = work.work_number lang_obj = Language.objects.get(language_name=lang) dict_work["work_type"] = WorkTypeDescription.objects.get(worktype=work.work_type, worktypelang=lang_obj).worktypedesc dict_work["work_region"] = WorkRegionDescription.objects.get(workregionlang = lang_obj, workregion=work.work_region).workregdesc dict_work["work_created_date"] = work.work_added.astimezone(local_tz).strftime('%d.%m.%Y %H:%M') q_obj_filter_by_work = Q(notification_work__slug=work.slug) q_obj_notif_type_n = Q(notification_type__notificationtype_name="notification") q_obj_notif_type_c = Q(notification_type__notificationtype_name="cancel") q_obj_notif_state_init = Q(notification_state__notificationstate_name="init") q_obj_notif_state_sent = Q(notification_state__notificationstate_name="sent") q_obj_notif_state_sent_err = Q(notification_state__notificationstate_name="sent_error") q_obj_notif_state_init = Q(notification_state__notificationstate_name="init") #notifications = Notification.objects.filter(notification_work__slug=work.slug) init_notifications = Notification.objects.filter(q_obj_filter_by_work &\ q_obj_notif_state_init&\ q_obj_notif_type_n).count() sent_notifications = Notification.objects.filter(q_obj_filter_by_work &\ q_obj_notif_state_sent&\ q_obj_notif_type_n).count() sent_error_notifications = Notification.objects.filter(q_obj_filter_by_work &\ q_obj_notif_state_sent_err&\ q_obj_notif_type_n).count() init_cancel_notifications = Notification.objects.filter(q_obj_filter_by_work &\ q_obj_notif_state_init &\ q_obj_notif_type_c).count() sent_cancel_notifications = Notification.objects.filter(q_obj_filter_by_work,\ q_obj_notif_state_sent,\ q_obj_notif_type_c).count() sent_error_cancel_notifications = Notification.objects.filter(q_obj_filter_by_work,\ q_obj_notif_state_sent_err,\ q_obj_notif_type_c).count() dict_work["init_notifications"] = init_notifications dict_work["sent_notifications"] = sent_notifications dict_work["sent_error_notifications"] = sent_error_notifications dict_work["init_cancel_notifications"] = init_cancel_notifications dict_work["sent_cancel_notifications"] = sent_cancel_notifications dict_work["sent_error_cancel_notifications"] = sent_error_cancel_notifications if work.work_state.workstate_name != "Canceled":#WorkTypes.objects.get( if work.work_start_date.astimezone(local_tz) > timezone.now() < work.work_end_date.astimezone(local_tz): dict_work["work_state"] = "Upcoming" if work.work_start_date.astimezone(local_tz) <= timezone.now() <= work.work_end_date.astimezone(local_tz): dict_work["work_state"] = "Pending" if work.work_start_date.astimezone(local_tz) < timezone.now() > work.work_end_date.astimezone(local_tz): dict_work["work_state"] = "Completed" else: dict_work["work_state"] = "Canceled" dict_work["work_start_date"] = work.work_start_date.astimezone(local_tz).strftime('%d.%m.%Y %H:%M') dict_work["work_end_date"] = work.work_end_date.astimezone(local_tz).strftime('%d.%m.%Y %H:%M') list_works.append(dict_work) #TODO - fix the bug with sort by date (sorting based on day number only) list_works = sorted(list_works, reverse=True, key=lambda x: x["work_created_date"]) works = simplejson.dumps(list_works) response = HttpResponse(works, content_type='application/json') response.set_cookie(key="filter_works", value=simplejson.dumps(work_filter_dict), max_age=365*24*60*60, expires=None, path='/') return response
def subscribe(request, project_id): response = HttpResponse() if project_id and request.method == 'POST': if 'delivery_id' in request.POST and 'field_name' in request.POST and 'field_email' in request.POST: client_ip = get_client_ip(request) # Информация с формы подписки first_name = request.POST['field_name'] last_name = request.POST.get('field_last_name', '') email = request.POST['field_email'] delivery_id = request.POST['delivery_id'] partner_id = request.COOKIES.get('partner', None) try: partner = User.objects.get(id=partner_id) except User.DoesNotExist: partner = None view_time = request.POST.get('view_time', None) view_time = int(view_time) if (isinstance(view_time, unicode) and view_time.isdigit()) else None visitor = Visitors.objects.filter(ip_address=client_ip)[:1:-1] referer = visitor[0].referer if len(visitor) == 1 else None project = Projects.objects.get(id=project_id) state = UNCONFIRMED url = 'http://send.email-master.ru/sdk/examples/subscribe.php' + \ '?delivery_id=' + delivery_id + \ '&email=' + email + \ '&fname=' + first_name + \ '&lname=' + last_name subscribe_response = urlopen(url) subscribe_response_read = subscribe_response.read() subscribe_result = json.loads(subscribe_response_read) if subscribe_result['status'] == 'success': # Получаем id нового подписчика url = 'http://send.email-master.ru/sdk/examples/get_subscriber.php' + \ '?delivery_id=' + delivery_id + \ '&email=' + email get_subscriber_response = urlopen(url) get_subscriber_response_read = get_subscriber_response.read() get_subscriber_result = json.loads(get_subscriber_response_read) response = redirect(project.url_forward) if get_subscriber_result['status'] == 'success': subscriber_id = get_subscriber_result['data']['subscriber_uid'] # Записываем подписчика в таблицу с подписчиками Subscribers.objects.create(project=project, delivery_id=delivery_id, partner=partner, subscriber_id=subscriber_id, email=email, ip=client_ip, referer=referer, view_time=view_time, state=state) if project.check == URL: response.set_cookie('subscriber', subscriber_id) else: response = HttpResponse('Во время подписки произошла ошибка! Введите другой E-mail адрес!') return response
def oauth(request): """网页授权获取用户信息""" resp = HttpResponse(request.openid) resp.set_cookie("openid", Helper.sign_cookie(request.openid)) return resp