def post(self, request): form = RegisterForm(request.POST) if form.is_valid(): username = form.cleaned_data.get('username', '') email = form.cleaned_data.get('email', '') password = form.cleaned_data.get('password', '') users = User() users.username = username users.password = make_password(password) users.email = email users.is_active = False users.save() token = token_confirm.generate_validate_token(username) # message = "\n".join([u'{0},欢迎加入我的博客'.format(username), u'请访问该链接,完成用户验证,该链接1个小时内有效', # '/'.join([settings.DOMAIN, 'activate', token])]) #send_mail(u'注册用户验证信息', message, settings.EMAIL_HOST_USER, [email], fail_silently=False) send_register_email.delay(email=email, username=username, token=token, send_type="register") return JsonResponse({ 'valid': True, 'status': 200, 'message': u"请登录到注册邮箱中验证用户,有效期为1个小时" }) return JsonResponse({ 'status': 400, 'data': form.errors, 'valid': False })
def read_xls(self, request, obj, change): print(obj.file) df = pandas.read_excel(obj.file) print(df) # df.drop([0],inplace=True) # df.columns = ['username','sex','age'] for i in range(0, len(df['学工号'])): username = df.iloc[i, 0] email = df.iloc[i, 1] professor = df.iloc[i, 2] jidian = df.iloc[i, 3] password = 123456 role_id = df.iloc[i, 4] #导入用户信息 role = Role.objects.get(id=role_id) user = User() user.username = username user.role = role user.professor = professor user.email = email user.set_password(password) user.is_active = 1 user.save() #导入绩点信息 rate_jidians = Work_rate_jidian.objects.get(pro_name=professor) id = User.objects.get(username=username).id Work_count.objects.create(usernum=id, count_jidians=jidian, rate_jidians=rate_jidians) return 'success'
def bindingQQ(request): """ QQ 注册账号 :param request: :return: """ if request.method == 'POST': openid = request.POST.get('openid') figureurl_qq_1 = request.POST.get('figureurl_qq_1') nickname = request.POST.get('nickname') password = request.POST.get('password') password1 = request.POST.get('password1') email = request.POST.get('email') if password != password1: return render( request, 'pc/qqregister.html', { 'openid': openid, 'figureurl_qq_1': figureurl_qq_1, 'nickname': nickname, 'error': '两次密码不一致' }) else: User.objects.filter(email=email).exists() if User.objects.filter(email=email).exists(): return render( request, 'pc/qqregister.html', { 'openid': openid, 'figureurl_qq_1': figureurl_qq_1, 'nickname': nickname, 'error': '邮箱已存在' }) else: user = User() user.username = nickname user.email = email user.user_image = figureurl_qq_1 user.is_staff = False user.is_superuser = False user.is_active = True user.password = make_password(password1) user.save() qq = OAuthQQ() user_id = get_object_or_404(User, email=email).id qq.user_id = user_id msg = UserMessage() msg.user_id = user_id msg.to_user = User.objects.get(is_superuser=True) msg.message = '欢迎加入本站,在使用过程中有什么疑问,请联系管理员,Email: <a target="_blank" href="http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=iuzv5O3g4_T748rs7_Tt4OPk__Ok6eXn" style="text-decoration:none;">[email protected]</a>' msg.has_read = False msg.is_supper = True msg.save() qq.qq_openid = openid qq.nickname = nickname qq.figureurl_qq = figureurl_qq_1 qq.save() user = authenticate(request, username=email, password=password) login(request, user) return HttpResponseRedirect(reverse('home'))
def post(self, request): # 1.获取参数 user_num = request.POST.get('user_num') password = request.POST.get('pwd') professor = request.POST.get('cpwd') email = request.POST.get('email') role_id = request.POST.get('loc') print(role_id) # 2.校验参数完整性 if not all([user_num, password, professor, email, role_id]): return render(request, 'register.html', {'errmsg': '数据不完整,请重新输入'}) # 2.1校验邮箱是否合法 # 校验邮箱 if not re.match(r'^[a-z0-9][\w.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$', email): return render(request, 'register.html', {'errmsg': '邮箱格式不正确'}) # 2.2校验用户是否存在 try: user = User.objects.get(user_num=user_num) except User.DoesNotExist: # 用户不存在 user = None if user: # 用户名已存在 return render(request, 'register.html', {'errmsg': '用户名已存在'}) # 3.业务处理,进行注册操作 role = Role.objects.get(id=role_id) user = User() user.username = user_num user.role = role user.professor = professor user.email = email user.set_password(password) user.is_active = 0 user.save() # 注册成功需要通过邮箱返回激活链接 # 使用itsdangerous生成激活的token信息 seeializer = Serializer(settings.SECRET_KEY, 3600) info = {'confirm': user.id} # 进行加密 token = seeializer.dumps(info) # 转换类型 token = token.decode() # 组织邮件内容 send_mail_register(email, user_num, token) # 返回应答 # 4.返回响应 return render(request, 'login.html')
def create_teams_sync(user_list, organizer): oid = organizer.org.oid new_agents = 0 for user_dict in user_list: cur_dict = user_dict.copy() cur_dict.pop('parent') if not check_username_exists(oid, cur_dict['username']): cur_dict['username'] = create_username(oid, cur_dict['username']) user = User(**cur_dict) user.org = organizer.org user.is_active = True user.save() userstate = UserState.objects.create(user=user) new_agents += 1 else: username = create_username(oid, cur_dict['username']) cur_dict.pop('username') User.objects.filter(Q(username=username)).update(**cur_dict) for user_dict in user_list: # print(user_dict) if len(user_dict['parent']) > 0: manager_qs = User.objects.filter( username=create_username(oid, user_dict['parent'])) if manager_qs.exists(): parent = manager_qs[0] user = User.objects.get( username=create_username(oid, user_dict['username'])) try: user.parent = parent user.save() except Exception as e: raise NotAcceptable(detail=str(e)) else: err_msg = 'Manager : ' + user_dict['parent'] + ' not found!' raise NotAcceptable(detail=err_msg) organizer.org.subscription.added_agents += new_agents organizer.org.subscription.save() return True