コード例 #1
0
ファイル: views.py プロジェクト: tonyklose1984/Python3
def register(request):
    statue = "用户注册"
    if request.method == "POST" and request.POST:
        registerForm = Register_Forms(request.POST)
        if registerForm.is_valid():
            clear_data = registerForm.cleaned_data
            u = User(
                username=clear_data.get('username'),
                password=hashpassword(clear_data.get("password")),
                email=clear_data.get("email"),
                phone=clear_data.get("phone"),
                    # photo=clear_data.get("photo"),
            )
            if user_exist(u.username):
                usererror = "您输入的用户名重复了,请重新输入"
                return render_to_response("register.html",locals())
            else:
                u.save()
                return HttpResponseRedirect('/login')
            # del request.COOKIES["username"]
            # del request.session["username"]

    else:
        registerForm =Register_Forms()
    return render_to_response("register.html",locals())
コード例 #2
0
def register(request):
    if(request.method == "POST"):
        result = json.loads(request.body)
        username = result["username"]
        password = result["password"]
        phonenumber = result["phonenumber"]
        code = result["code"]

        # check if phonenumber corresponds to code
        if code != cache.get(phonenumber):
            result = {"code":0,"message":"验证码错误"}
            return HttpResponse(json.dumps(result,ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        # phonenumber existed
        if User.objects.filter(phonenumber=phonenumber):
            result = {"code":0,"message":"手机号已被注册"}
            return HttpResponse(json.dumps(result,ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        # username existed
        if User.objects.filter(username=username):
            result = {'code':0,"message":"用户名已被注册"}
            return HttpResponse(json.dumps(result,ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        # success
        user = User(username=username, password=password, phonenumber=phonenumber)
        user.save()

        result = {'code':1,"message":"success"}
        return HttpResponse(json.dumps(result,ensure_ascii=False),
                            content_type="application/json,charset=utf-8")
コード例 #3
0
	def get(self,request):
		res = HttpResponse()

		get = request.GET
		if('code' in get):
			code = request.GET['code']
		else:
			res.write({"error":1002,"data":{'info':"Please request with right json_code."}})
			return res

		codejson = self.getUserId(code)
		if('errcode' in codejson):
			res.write({"error":1002,"data":{'info':"Please request with right json_code."}})
			return res
		else:
			openid = codejson['openid']
			sessionkey = codejson['session_key']
			session = openid + sessionkey
			session = hashlib.sha1(session.encode(encoding="utf-8")).hexdigest()

			if len(Sessioninfo.objects.filter(openid=openid)) == 0:
				se = Sessioninfo(openid=openid,sessionkey=sessionkey,session=session)
				se.save()
				user = User(openid=openid)
				user.save()
				print('asdasdasd')
			else:
				se = Sessioninfo.objects.filter(openid=openid)[0]
				se.sessionkey = sessionkey
				se.session = session
				se.save()
				print('No!!!!!!')

			res.write({"error":0,"data":{"openid":openid,"session":session}})
		return res
コード例 #4
0
def register(request):
    #获取参数
    user = request.POST.get("user")  #获取用户帐号
    passwd = request.POST.get("passwd")  #获取密码
    name = request.POST.get("name")  #获取用户昵称
    email = request.POST.get("email")  #获取邮箱
    CreateTime = int(time.time())  #获取当前时间戳

    #判断用户名及密码是否为空
    if user and passwd:
        #如果用户名和密码不为空则:
        user_ORM = User.objects.filter(user__exact=user)  # 查询user是否在表中
        passwd_md5 = md5(passwd)  #对密码进行MD5加密

        #判断用户是否被注册
        if not user_ORM:
            #如果没有注册则写入数据并保存
            DATA = User(user=user,
                        passwd=passwd_md5,
                        name=name,
                        email=email,
                        CreateTime=CreateTime,
                        status=0)
            DATA.save()
            return JsonResponse({"Success": "Register OK!"})

        else:
            # 如果表中有该用户则返回错误提示
            return JsonResponse({"Error": "User already registered"})

    else:
        #如果传入的用户名或密码为空时则返回以下信息:
        return JsonResponse({"Error": "User name or password is empty!"})
コード例 #5
0
def register():
    '''注册'''
    if request.method == 'POST':
        nickname = request.form.get('nickname', '').strip()
        password = request.form.get('password', '').strip()
        gender = request.form.get('gender', 'unknow').strip()
        city = request.form.get('city', '上海').strip()
        avatar = request.files.get('avatar')
        birthday = request.form.get('birthday', '2000-01-01').strip()
        bio = request.form.get('bio', '').strip()

        if not (nickname and password):
            return render_template('register.html', error='昵称或密码不为空')

        safe_password = utils.make_password(password)  # 安全处理密码
        avatar_url = utils.save_avatar(nickname, avatar)  # 保存头像,并返回头像网址

        user = User(nickname=nickname,
                    password=safe_password,
                    gender=gender,
                    city=city,
                    avatar=avatar_url,
                    birthday=birthday,
                    bio=bio)

        db.session.add(user)
        try:
            db.session.commit()
        except IntegrityError:  # 例: IntegrityError: (1062, "Duplicate entry 'xx' for key 'xxxxx'")
            db.session.rollback()
            return render_template('/user/register.html', error='昵称和密码能为空')
        return redirect('/user/login')
    else:
        return render_template('/user/register.html')
コード例 #6
0
def CreateUser(request):
    username = request.POST.get('username', "")
    password = request.POST.get('password', "")
    iphone = request.POST.get('iphone', "")
    repeat_password = request.POST.get('repeat_password', "")
    res = User.objects.get(username=username)
    vals = ['username', 'password', 'iphone', 'repeat_password']
    dict = {'username': '******', 'password': '******', 'iphone': '手机号', 'repeat_password': '******'}
    for i in vals:
        if locals()[i] == '':
            return JsonResponse({"code": 0, "massage": "{}不能为空".format(dict[i])})

    if username == res.username:
        try:
            res = User.objects.get(username=username)
            return JsonResponse({"code": 0, "massage": "用户名已存在"})
        except:
            if len(password) < 6:
                return JsonResponse({"code": 0, "massage": "密码太短,请输入6位以上"})
            elif len(iphone) != 11:
                return JsonResponse({"code": 0, "massage": "手机号不合法,重新输入"})
            elif repeat_password != password:
                return JsonResponse({"code": 0, "massage": "两次密码不一致"})
            else:
                try:
                    user = User()
                    user.username = username
                    user.passworld = password
                    user.iphone = iphone
                    user.save()
                    return JsonResponse({"code": 200, "massage": "成功", "username": username})
                except:
                    return JsonResponse({"code": 0, "massage": "数据库异常"})
コード例 #7
0
ファイル: views.py プロジェクト: surajkarale15/timezone
def save_or_update(req):
    msg = ''
    if req.method == 'POST':
        if int(req.POST["id"]) > 0:
            user = User(id=req.POST["id"], name=req.POST["name"])
            msg = "Updation Operation Successfully...!"
            user.save()
        else:
            user = User(name=req.POST["name"])
            msg = "Add Operation Successfully...!"
            user.save()

    return render(req, 'user.html', {
        "user_nm": dummy_user(),
        "note": msg,
        "users": get_active_user()
    })
コード例 #8
0
ファイル: serializers.py プロジェクト: GeekchanskiY/LeverX
 def create(self, validated_data):
     user = User(
         username=validated_data['username'],
         email=validated_data['email'],
         user_status=validated_data['user_status']
     )
     user.set_password(validated_data['password'])
     user.save()
     return user
コード例 #9
0
def register(request, useremail, username, password: str):
    md5 = hashlib.md5()
    password = make_password(password)
    password = str(md5.hexdigest())
    user = User(user_email=useremail, user_password=password, user_name=username)
    user.save()
    render(request, '', context={
        'register': '注册成功',
        'status': '200'
    })
コード例 #10
0
 def test_create_user(self):
     User(
         cui=123456789101,
         nombre_completo="Prueba usuario",
         numero_telefono="12345678"
     ).save()
     usuarios = User.objects.all()
     usuario1 = User.objects.get(id=1)
     self.assertEquals(usuarios.count(),1)
     self.assertEquals(usuario1.nombre_completo,"Prueba usuario")
コード例 #11
0
def register_submit(request):
	user = User(firstname=request.POST['firstname'],lastname=request.POST['lastname'],email=request.POST['email'],password=request.POST['password'])
	try:
		user.full_clean()
		user.save();
	except ValidationError as e:
		return render(request, "user_register.html", {"errors":e.message_dict,"post":request.POST})

	jake =  {request.POST['fname']}
	return redirect("user_list")
コード例 #12
0
def bind_email(request):
    openid = request.GET.get('openid', request.POST.get('openid', ''))
    username = request.GET.get('nickname', request.POST.get('username', ''))
    type = request.GET.get('type', request.POST.get('type', ''))
    avatar = request.GET.get('avatar', request.POST.get('avatar', ''))

    if request.method == 'POST':
        form = BindEmail(request.POST)
        if form.is_valid():
            openid = form.cleaned_data['openid']
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            type = form.cleaned_data['type']
            avatar = form.cleaned_data['avatar']
            users = User.objects.filter(email=email)
            if users:
                user = users[0]
            else:
                while User.objects.filter(username=username):
                    username = username + '*'
                user = User(username=username, email=email)
                user.set_password(password)
                user.is_active = True
                user.avatar = avatar
                user.oauth = True
                user.save()
            oauth_ex = OAuth_ex(user=user, openid=openid, type=type)
            oauth_ex.save()
            login(request,
                  user,
                  backend='django.contrib.auth.backends.ModelBackend')
            data = {}
            data['goto_url'] = '3397/'
            data['goto_time'] = 10000
            data['goto_page'] = True
            data['message_title'] = '绑定账号成功'
            data[
                'message'] = u'绑定成功!您的用户名为:<b>%s</b>。您现在可以同时使用本站账号和此第三方账号登录本站了!' % username
            return render_to_response('oauth/response.html', data)

    else:
        form = BindEmail(
            initial={
                'openid': openid,
                'nickname': username,
                'type': type,
                'image_url': avatar,
            })
        return render(request,
                      'oauth/bind_email.html',
                      context={
                          'form': form,
                          'type': type
                      })
コード例 #13
0
ファイル: views.py プロジェクト: ThreerEyed/aj
def register_count():
    # 提交的所有信息
    # phone = request.form.get('mobile')
    # imagecode = request.form.get('imagecode')
    # phonecode = request.form.get('phonecode')
    # pwd = request.form.get('password')
    # pwd2 = request.form.get('password2')

    data = request.get_json()
    phone = data.get('mobile')
    pwd = data.get('password')
    phonecode = data.get('sms_code')

    # 验证信息完整性
    if not all([phone, phonecode, pwd]):
        msg = '请输入完整信息'
        return jsonify(statucode.INFO_IS_NOT_COMPLETE)

    reg = re.match('((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[035-8])|(18[0-9])|166|198|199|(147))\\d{8}', phone)
    # 验证数据有效性
    if not reg:
        return jsonify(statucode.PHONE_NUMBER_IS_INVALID)

    # 验证用户是否已存在
    if User.query.filter_by(phone=phone).first():
        return jsonify(statucode.USER_EXISTS)

    # 验证图片验证码
    # if not imagecode:
    #     return jsonify(statucode.IMAGE_CODE_ERROR)
    # 验证手机验证码
    phone_code = redis_store.get('SMSCode_' + phone)
    if phonecode != phone_code.decode('utf-8'):
        return jsonify(statucode)

    # 删除数据库中用户的短信信息
    redis_store.delete('SMSCode_' + phone)

    # 保存用户数据到数据库
    user_register = User()
    user_register.name = phone
    user_register.phone = phone
    # 密码加密
    user_register.pw_hash = generate_password_hash(pwd)

    try:
        db.session.add(user_register)
        db.session.commit()
    except Exception as e:
        db.session.rollback()
        return jsonify(statucode.DATABASE_ERROR)

    return jsonify(statucode.COUNT_REGISTER_SUCCESS)
コード例 #14
0
ファイル: views.py プロジェクト: AhmedMorsy95/Intro_to_Django
def index(request):

    if request.method == 'POST':
        data = RegisterForm(request.POST)
        if data.is_valid():
            dummy = User()
            dummy.email = data.cleaned_data['email']
            dummy.password = "******"
            dummy.username = data.cleaned_data['name']
            dummy.save()

    form = RegisterForm()
    return render(request, 'Register/index.html', {'form': form})
コード例 #15
0
def login(request):
    name = request.POST['name']
    pass_word = request.POST['password']
    user = User(name, pass_word)
    list = User.objects.all()
    for i in list:
        if i.name == user.name and check_password(user.pass_word, i.pass_word):
            request.session['username'] = i.name
            request.session['is_admin'] = i.is_admin
            request.session.set_expiry(1800)  # session过期时间:30分钟
            print("登陆成功:" + name + ' ' + pass_word)
            return render(request, 'home/fmain.html')
    print("登陆失败")
    return render(request, 'user/loginFailure.html')
コード例 #16
0
    def save(self):
        user1 = User(
            email=self.validated_data['email'].lower(),
            username=self.validated_data['username'].lower(),
            IS_CUSTOMER=self.validated_data['IS_CUSTOMER'],
        )
        password = self.validated_data['password']
        confirm_password = self.validated_data['confirm_password']

        if password != confirm_password:
            raise serializers.ValidationError(
                {'password': '******'})
        user1.set_password(password)
        user1.save()
        return user1
コード例 #17
0
    def save(self):
        user = User(email=self.validated_data['email'],
                    username=self.validated_data['username'],
                    phone_number=self.validated_data['phone_number'],
                    role=self.validated_data['role'],
                    address=self.validated_data['address'],
                    birth_date=self.validated_data['birth_date'])
        password = self.validated_data['password']
        password2 = self.validated_data['password2']

        if password != password2:
            raise serializers.ValidationError(
                {'password': '******'})
        user.set_password(password)
        user.save()
        return user
コード例 #18
0
def registe(request):
    name = request.POST['username']
    pass_word = make_password(request.POST['password'])
    foo = request.POST['identity']
    if (foo == 'manager'):
        is_admin = True
    else:
        is_admin = False
    print("注册信息:" + name + ' ' + ' ' + pass_word + ' ' + str(is_admin))
    user = User(name, pass_word, is_admin)
    list = User.objects.all()
    if user in list:  # 神奇的默认只比较了主键orz
        return render(request, 'user/registeFailure.html')
    else:
        user.save()
        return render(request, 'user/registeSuccess.html')
コード例 #19
0
def register(request):
    if request.method == "POST":
        arg = request.POST
        email = arg.get("email")
        username = arg.get("username")
        password = arg.get("password")
        repassword = arg.get("repassword")

        user = User()
        user.email = email
        user.username = username
        if password == repassword:
            user.password = set_password(password)
        else:
            return HttpResponseRedirect('/Buyer/register/')
        user.save()
        return HttpResponseRedirect('/Buyer/login/')
    return render(request, 'buyer/register.html', locals())
コード例 #20
0
    def post(self, request):
        form = RegisterForm(request.POST, request.FILES)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            avatar = form.cleaned_data['avatar']
            email = form.cleaned_data['email']

            user = User()
            user.username = username
            user.set_password(password)
            user.email = email
            user.avatar = avatar
            user.save()

            return redirect(reverse('User:login'))
        else:
            return render(request, 'user/register.html', {'msg': '請爭取輸入!'})
コード例 #21
0
def add_account(request):
    context = {}
    if request.method == "POST":
        try:
            user = User.objects.get(username=request.POST['username'])

            context['reg_error'] = "Username is already taken."
        except:
            user = User(username=request.POST['username'],
                        password=request.POST['password'],
                        name=request.POST['password'])
            user.save()
            staff = Staff(user=user, type=int(request.POST['type']))

            staff.save()

            context['reg_success'] = "Account has been created."

    return render(request, 'add.html', context)
コード例 #22
0
    def handle(self, *args, **kwargs):
        fake=Faker()
        activity_periods=[]
        for i in range(1000,1050):
            a=ActivityPeriod(id =i ,start_time=fake.date_time(),end_time=fake.date_time())
            a.save()

        for _ in range(kwargs['number_of_users']):
            pkid=fake.bothify(text='???##?#??').upper()
            name=fake.name()
            timezone=fake.timezone()
            User(id=pkid ,real_name=name , tz= timezone).save()
            user=User.objects.get(id=pkid)
            print("Created User", pkid, name, timezone)
            for _ in range(fake.random_int(min=1 ,max=5)):
                rnum=fake.random_int(min=1000, max=1050)
                ap=ActivityPeriod.objects.filter(id=rnum).first()
                user.activity_periods.add(ap)
        print("\n" ,kwargs['number_of_users'],"Users created successfully")
コード例 #23
0
ファイル: views.py プロジェクト: tom2jack/GodWork
def register(request):
    statue = "用户注册"
    if request.method == "POST" and request.POST:
        registerFrom = RegisterForm(request.POST, request.FILES)
        print(registerFrom.is_valid())
        if registerFrom.is_valid():
            clear_data = registerFrom.cleaned_data
            u = User(username=clear_data.get('username'),
                     password=hashpassword(clear_data.get("password")),
                     email=clear_data.get("email"),
                     phone=clear_data.get("phone"),
                     photo=clear_data.get("photo"))
            u.save()

            # del request.COOKIES["username"]
            # del request.session["username"]
            return HttpResponseRedirect("/login")
    else:
        registerFrom = RegisterForm()
    return render_to_response("register.html", locals())
コード例 #24
0
 def save(self):
     user = User(
         email=self.validated_data['email'],
         role=self.validated_data['role'],
     )
     password = ''
     for i in range(0, 9):
         password += str(int(random.random() * 10))
     name = self.validated_data['name']
     fname = name.split(' ')[0]
     lname = name.split(' ')[1]
     user.set_fname(fname)
     user.set_lname(lname)
     user.set_name('{} {}'.format(fname, lname))
     username = '******'.format(fname, str(int(random.random() * 100)),
                                lname)
     user.set_username_u(username)
     user.set_password(password)
     user.save()
     return user
コード例 #25
0
    def post(self, request):
        username = request.POST.get('username')
        password = request.POST.get('password')
        re_password = request.POST.get('re_password')
        if password is not None:

            if password == re_password:
                user = User()
                user.username = username
                user.password = user.set_password(password)
                user.save()

                data = {'status': 200, 'msg': 'register ok'}
                return Response(data)
            else:
                data = {'status': 201, 'msg': 'register error'}
                return Response(data)
        else:
            data = {'status': 202, 'msg': 'password is None'}
            return Response(data)
コード例 #26
0
ファイル: views.py プロジェクト: markity/flask-personal-blog
def authorized(oauth_token):
    if request.method == 'GET':
        global error
        # 只要为None就说明不存在或者伪造
        if oauth_token is None:
            error = '获得Github授权失败!!'
            return redirect(url_for('user.login'))
        try:
            r = github.get('user', access_token=oauth_token)
        except GitHubError:
            error = '获得Github授权失败!!'
            return redirect(url_for('user.login'))
        username = r.get('login')
        user = User.query.filter_by(username=username).first()
        if user is None:
            user = User(user_id=r.get('id'),
                        username=username,
                        email=r.get('email'))
            user.add_with_save()
        session['username'] = username
        return redirect(url_for('blog.index'))
コード例 #27
0
def submit_vcode(request):
    '''提交验证码登录'''
    phonenum = request.POST.get('phonenum')
    u_vcode = request.POST.get('vcode')
    key = keys.VCODE_K + str(f'{phonenum}')
    vcode = rds.get(key)
    if vcode and vcode == u_vcode:
        try:
            user = User.objects.get(phonenum=phonenum)
            info_log.info(f'User login:{user.id}')
        except User.DoesNotExist:
            user = User()
            user.phonenum = phonenum
            user.nickname = phonenum
            user.save()
            info_log.info(f'User register:{user.phonenum}')
        request.session['uid'] = user.id
        return render_json(user.to_dict())
    else:
        # return render_json(data='验证码错误', code=errors.VCODE_ERR)
        raise errors.VcodeErr('验证码错误')
コード例 #28
0
def Register(request):
    IP_log(request)
    if request.method == 'POST':
        form = User_register_form(request.POST)
        if form.is_valid():
            uname = form.cleaned_data['username']
            password = form.cleaned_data['password']
            email = form.cleaned_data['email']
            student_id = email.split('@', 1)[0].upper()
            code = ''.join(
                random.choice(
                    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
                ) for _ in range(15))
            u = User(username=uname,
                     password=password,
                     email=email,
                     is_verified=False,
                     student_id=student_id,
                     code=code)
            u.save()
            #send email:
            vlink = DOMAIN + "verify?email=" + email + "&code=" + code
            pass_code = "1559758205.6652055"
            data = {
                'random': pass_code,
                'link': vlink,
                'email': email,
                'user': uname,
                'type': "Registration"
            }
            is_sent = True
            r = requests.post(
                'https://www.csie.ntu.edu.tw/~b07902001/mail.php', data=data)
            return render_to_response('Register.html', locals(),
                                      RequestContext(request))
        Error = True
        return render_to_response('Register.html', locals())
    form = User_register_form()
    return render_to_response('Register.html', locals(),
                              RequestContext(request))
コード例 #29
0
ファイル: manager.py プロジェクト: Hejingqiang/Hjq_weiibo
def fake():
    import random
    from User.models import User
    from weibo.models import Weibo


    users = []

    for i in range(20):
        user = User(
            nickname=fake_word().title(),
            gender=random.choice(['male', 'female', 'unknow']),
            city=random.choice(['北京', '上海', '深圳']),
            avatar='/static/upload/125.png',
            birthday='1996-06-13',
            bio=fake_sentence(),
        )
        users.append(user)
    db.session.add_all(users)
    db.session.commit()

    weibo_list = []
    for i in range(1000):
        y = random.randint(2000, 2020)
        m = random.randint(1, 12)
        d = random.randint(1, 28)
        date = '%d-%02d-%02d' % (y, m, d)

        weibo = Weibo(
            uid=random.choice(users).id,
            content=fake_sentence(),
            created=date,
            updated=date,
        )
        weibo_list.append(weibo)

    db.session.add_all(weibo_list)
    db.session.commit()
コード例 #30
0
def user_register():
    # 生成验证表单对象
    registerform = RegisterForm()
    categories = Category.query.filter(Category.cpid == 0).all()
    code = session.get('code')
    if request.method == 'POST':
        if registerform.validate_on_submit():
            yzm = request.form.get('yzm')
            if yzm == code:
                # 验证成功
                username = registerform.username.data
                password = registerform.passsword.data
                email = registerform.email.data
                user = User(username=username,
                            password=hashlib.sha1(
                                password.encode('utf8')).hexdigest(),
                            email=email)
                user.save_one()
                user.setsession()
                session.pop('code')
                # 注册成功,转入首页
                return render_template('tmppage.html',
                                       picture=1,
                                       v=url_for('bbs.index'),
                                       i='注册成功!获得50金币',
                                       title='注册成功',
                                       **locals())
            else:
                return render_template('tmppage.html',
                                       picture=0,
                                       v=url_for('user.user_register'),
                                       i='验证码输入错误,请重新输入!',
                                       title='注册失败',
                                       **locals())
    return render_template('register.html',
                           title='注册',
                           form=registerform,
                           **locals())