コード例 #1
0
def register(request):
    if not request.user.is_authenticated():
        if request.method == 'POST':
            form = myforms.RegisterForm(request.POST)
            if form.is_valid():
                e = form.cleaned_data['email']
                p = form.cleaned_data['password']
                fn = form.cleaned_data['first_name']
                ln = form.cleaned_data['last_name']
                user = User.objects.create_user(username=e,
                                                email=e,
                                                password=p)
                user.first_name = fn
                user.last_name = ln
                user.save()
                return HttpResponseRedirect('/')
            else:
                return render_to_response(
                    'register.html', {'form': form},
                    context_instance=RequestContext(request))
        else:
            form = myforms.RegisterForm()
            return render_to_response('register.html', {'form': form},
                                      context_instance=RequestContext(request))
    else:
        return HttpResponseRedirect('/')
コード例 #2
0
ファイル: views.py プロジェクト: MarcWong/i23d-django
def reset(request):
    if request.method == "POST":
        register_form = forms.RegisterForm(request.POST)
        message = "请检查填写的内容!"
        if register_form.is_valid():  # 获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            phone = register_form.cleaned_data['phone']
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(name=username)

                same_email_user = models.User.objects.filter(email=email)

                same_phone_user = models.User.objects.filter(phone=phone)

                if same_name_user and same_email_user and same_phone_user:  # 此用户信息全对,重设此密码
                    same_phone_user.password = password1
                    return redirect('/login/')  # 自动跳转到登录页面
                else:
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'login/register.html', locals())

    register_form = forms.RegisterForm()
    return render(request, 'login/reset.html', locals())
コード例 #3
0
ファイル: views.py プロジェクト: Jasonrw/Booksite
def register(request):
    if request.method == 'POST':
        form = forms.RegisterForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = User.objects.create(username=data['username'],
                                       email=data['email'])
            user.set_password(data['password'])
            user.save()
            return HttpResponseRedirect(r'/accounts/login')
    else:
        form = forms.RegisterForm()
    return render_to_response('registration/register.html',
                              context_instance=RequestContext(
                                  request, {'form': form}))
コード例 #4
0
def register():
    register_form = forms.RegisterForm(request.form)
    title = 'REGISTER'
    tituloPag = 'Registro'
    if request.method == 'POST' and register_form.validate():
        email = register_form.email.data
        passw = register_form.password.data
        #comprobar que no este en la base de datos
        user = database.User.query.filter_by(email=email).first()
        if user is None:
            user = database.User(email=email, password=passw)
            database.db.session.add(user)
            database.db.session.commit()

            success_message = 'Usuario {} registrado'.format(email)
            category = "alert alert-success alert-dismissible"
            flash(success_message, category)
            session['email'] = email
            return redirect(url_for('index'))

        else:
            error_message = 'Ya existe este usuario'
            category = "alert alert-danger alert-dismissible"
            flash(error_message, category)

    return render_template('register.html',
                           title=title,
                           form=register_form,
                           tituloPag=tituloPag)
コード例 #5
0
ファイル: main.py プロジェクト: savchuk123/100DaysOfCode
def register():
    register_form = forms.RegisterForm()
    if register_form.validate_on_submit():
        # check if email already if DB
        found_user = User.query.filter_by(
            email=register_form.email.data).first()
        if found_user:
            # set message to display and redirect to the login page
            flash("You've already signed up with that email, log in instead!")
            return redirect("/login")
        else:
            # generate password hash
            password_hash = generate_password_hash(
                password=register_form.password.data,
                method="pbkdf2:sha256",
                salt_length=8)
            new_user = User(email=register_form.email.data,
                            password=password_hash,
                            name=register_form.name.data)
            db.session.add(new_user)
            db.session.commit()
            # log in as the new user
            login_user(new_user)
            return redirect("/")
    return render_template("register.html",
                           form=register_form,
                           year=get_current_year(),
                           logged_in=current_user.is_authenticated)
コード例 #6
0
ファイル: views.py プロジェクト: Erickon1/icoStudy
def register():
    form_log = forms.LoginForm(request.form)
    form_reg = forms.RegisterForm(request.form)
    err = ''
    h = ''
    i = ''
    d = ''
    if request.method == 'POST' and form_reg.validate():
        user = (form_reg.username.data).encode('utf-8')
        email = form_reg.email.data
        password = (form_reg.password.data).encode('utf-8')

        a = ScanUser(unicode(str(user), "utf-8"))
        for x in a:
            h = x.username
            i = x.email
        b = str(h)
        c = str(i)
        a = ScanEmail(str(email))
        for x in a:
            i = x.email
        d = str(i)
        if b == user or c == email or d == email:
            err = 'usuario ya registrado'
        else:
            if SaveUser(unicode(str(user), "utf-8"),
                        unicode(str(password), "utf-8"), str(email)):
                session['username'] = unicode(user, "utf-8")
                return redirect(url_for('home'))
    return render_template('login.html', form=form_log, fo=form_reg, e=err)
コード例 #7
0
def register():
    register_form = forms.RegisterForm(request.form)
    title = 'REGISTER'
    if request.method == 'POST' and register_form.validate():
        email = register_form.email.data
        passw = register_form.password.data
        #comprobar que no este en la base de datos
        user = database.User.query.filter_by(email=email).first()
        if user is None:
            user = database.User(email = email, password = passw)
            database.db.session.add(user)
            database.db.session.commit()
        
            msg = Message('Gracias por tu registro!', sender = app.config['MAIL_USERNAME'], recipients=[user.email])
            
            msg.html = render_template('email.html')
            #mail.send(msg)
                        

            success_message = 'Usuario registrado'
            category = "alert alert-success alert-dismissible"
            flash(success_message, category)
            return redirect( url_for('index') )
        
        else:
            error_message = 'Ya existe este usuario'
            category = "alert alert-danger alert-dismissible"
            flash(error_message, category)
        
    return render_template('register.html', title=title, form=register_form)
コード例 #8
0
ファイル: main.py プロジェクト: ElihuTM/BlockNotes
def register():

    register_form = forms.RegisterForm(request.form)
    if request.method == 'POST' and register_form.validate():
        conector = mydb.connect()
        cursor = conector.cursor()

        username = register_form.username.data
        email = register_form.email.data
        password = register_form.password.data
        hash_password = generate_password_hash(password)

        sentence = 'Select username, email FROM Users WHERE username = %s OR email = %s'
        variables = (username, email)
        cursor.execute(sentence, variables)
        result = cursor.fetchone()

        if result is not None:
            if result[0] == username:
                flash('username already exist, please use other username')

            if result[1] == email:
                flash('email already exist, please use other email')

            return render_template('register.html', form=register_form)

        sentence = 'INSERT INTO Users(username,email,password,created_date) VALUES(%s,%s,%s,%s)'
        variables = (username, email, hash_password, datetime.datetime.today())
        cursor.execute(sentence, variables)
        conector.commit()

        flash("succesful registration")
        return redirect(url_for('login'))

    return render_template('register.html', form=register_form)
コード例 #9
0
def add_user():
    form = forms.RegisterForm(request.form)
    if request.method == 'POST' and form.validate():
        name = form.name.data
        username = form.username.data
        email = form.email.data
        password = sha256_crypt.encrypt(str(form.password.data))

        #create cursor

        cur = mysql.connection.cursor()

        cur.execute(
            "INSERT INTO users(name, username, email, password) VALUES (%s,%s,%s,%s)",
            (name, username, email, password))

        mysql.connection.commit()

        cur.close()

        flash('Datos agregados exitosamente', 'success')

        return redirect(url_for('add_user'))

    return render_template('register.html', form=form)
コード例 #10
0
ファイル: app.py プロジェクト: juliarg/aerodactyl
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data

        connection = httplib.HTTPSConnection('api.parse.com', 443)
        connection.connect()
        connection.request(
            'POST', '/1/users',
            json.dumps({
                "username": username,
                "password": password,
                "email": email,
                "emailVerification": "false"
            }), {
                "X-Parse-Application-Id": parse_app_id,
                "X-Parse-REST-API-Key": parse_app_key,
                "Content-Type": "application/json"
            })
        result = json.loads(connection.getresponse().read())
        try:
            sess_dict = {
                "id": result['sessionToken'],
                "objectId": result['objectId']
            }
        except KeyError:
            return jsonify(**result), 400
        return jsonify(**sess_dict), 201
    #return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #11
0
ファイル: views.py プロジェクト: christofile/bigbang
def register(request):
    if request.method == 'POST':
        # Submit form
        form = forms.RegisterForm(request.POST)
        if form.is_valid():
            register_date = datetime.now()
            # 保存用户信息
            user = User(
                email=form.cleaned_data['email'].strip(),
                password=encode_password(
                    form.cleaned_data['password'].strip()),  # encode passowrd
                status='enabled',
                create_time=register_date,
                group='default',
                account='1')
            user.save()
            # 写登录session
            session_id = _do_login(user.email)
            return_url = _get_return_url(request)
            response = HttpResponseRedirect(return_url)
            response.set_cookie('id', session_id)
            return response
        else:
            return render_to_response('register.htm', {'form': form})

    else:
        # 渲染页面
        return_url = urllib.urlencode({'return_url': _get_return_url(request)})
        register_action_url = '/register/?' + return_url
        return render_to_response('register.htm',
                                  {'register_action_url': register_action_url})
コード例 #12
0
ファイル: app.py プロジェクト: jefmud/flask_starter_project
def register():
    if current_user.is_authenticated:
        flash('Please logout before registering a new email',
              category='warning')
        return redirect(url_for('index'))

    form = forms.RegisterForm()
    if form.validate_on_submit():
        try:
            models.User.create_user(username=form.username.data,
                                    email=form.email.data,
                                    password=form.password.data,
                                    firstname=form.firstname.data,
                                    lastname=form.lastname.data,
                                    is_admin=False)
        except:
            flash("Problems registering this user = {}".format(
                form.email.data),
                  category='danger')
        else:
            flash("Thanks for registering as {}".format(form.email.data),
                  category="info")
            return redirect(url_for('index'))

    return render_template('register.html', form=form)
コード例 #13
0
ファイル: views.py プロジェクト: ljb-2000/neobug
def register():
    user = User()
    form = forms.RegisterForm(request.form, user)
    if request.method == 'POST':
        if not form.validate_on_submit():
            message = "This username is already taken."
            return render_template("register.html", message=message, form=form)
        username = request.form['username']
        email = request.form['email']
        password = request.form['password']
        password_repeat = request.form['repeat']
        if password != password_repeat:
            message = "Password and password repeat must be the same."
            return render_template("register.html", message=message, form=form)
        salt = uuid4().hex.encode("utf-8")
        password_hash = sha512(password.encode("utf-8") + salt)
        user.password_hash = password_hash.hexdigest()
        user.email = email
        user.password_salt = salt
        user.username = username
        user.save()
        session['logged_in'] = True
        g.user = user
        login_user(user)
        return redirect(url_for('index'))
    return render_template("register.html", title="Register", form=form)
コード例 #14
0
ファイル: app.py プロジェクト: JoarGruneau/Alpinklubben
def login():
    login_form = forms.LoginForm(request.form, prefix='login')
    register_form = forms.RegisterForm(request.form, prefix='register')
    if request.method == 'POST':
        if 'login' in request.form:
            login_form = forms.LoginForm(request.form, prefix='login')
            if login_form.validate():
                if login_form.authenticate():
                    session['username'] = login_form.username.data
                    return redirect(url_for('home'))
                else:
                    login_form.errors[
                        'username'] = "******"
        elif 'register' in request.form:
            if register_form.validate():
                if len(database.get_user(register_form.username.data)) == 0:
                    register_form.save()
                    session['username'] = register_form.username.data
                    return redirect(url_for('home'))
                else:
                    register_form.errors[
                        'username'] = "******"
    return render_template('login.html',
                           login_form=login_form,
                           register_form=register_form)
コード例 #15
0
def create_user():
    form = forms.RegisterForm(request.form)
    print("form variable!")
    if not form.validate():
        flash("username not valid")
        return render_template("register.html")

    first_name = form.first_name.data
    last_name = form.last_name.data
    email = form.email.data
    password = form.password.data

    existing = User.query.filter_by(email=email).first()
    if existing:
        flash("username already taken")
    else:
        user = User(email=email,
                    first_name=first_name,
                    last_name=last_name,
                    password=password,
                    salt="random")
        user.set_password(password)

        model.session.add(user)
        model.session.commit()
        login_user(user)

    return redirect(url_for("index"))
コード例 #16
0
def register():
    """view to register a new user"""
    # todo mail user with confirmation link
    # anti-robot validation
    if current_user.is_authenticated:
        flash('Please logout before registering a new email',
              category='warning')
        return redirect(url_for('index'))

    form = forms.RegisterForm()
    if form.validate_on_submit():
        try:
            models.User.create_user(username=form.username.data,
                                    email=form.email.data,
                                    password=form.password.data,
                                    firstname=form.firstname.data,
                                    lastname=form.lastname.data,
                                    is_admin=False)
        except:
            flash("Problems registering this user = {}".format(
                form.email.data),
                  category='danger')
            app.logger.error('problems registering user {} @ {}'.format(
                form.email.data, dt.now()))
        else:
            flash("Thanks for registering as {}".format(form.email.data),
                  category="info")
            app.logger.info('registered new user = {} @ {}'.format(
                form.email.data, dt.now()))
            return redirect(url_for('index'))

    return render_template('login/register.html', form=form)
コード例 #17
0
def register():
    form = forms.RegisterForm()

    if form.validate_on_submit():
        email = form.email.data
        existing_user = User.query.filter_by(email=email).first()

        # User already registered
        if existing_user:
            flash(
                'Email is already registered. Please login or register another one.'
            )
            return redirect(url_for('register'))

        # Register new user
        hashed_salted_password = generate_password_hash(form.password.data,
                                                        method='pbkdf2:sha256',
                                                        salt_length=8)
        new_user = User(
            name=form.name.data,
            email=email,
            password=hashed_salted_password,
        )
        db.session.add(new_user)
        db.session.commit()

        # Log in and authenticate user after adding details to database.
        login_user(new_user)
        return redirect(url_for('get_all_posts'))

    return render_template("register.html", form=form)
コード例 #18
0
def register():
    """register view function"""
    ##we pass this to render template
    form = forms.RegisterForm()
    ##this method belongs to forms
    ##returns true when validators do not raise any error
    ##IMPORTANT:
    ##validate_on_submit will check if it is a POST request and if it is valid.
    ## So basically its like if method=POST in some manner
    if form.validate_on_submit():
        ##1st arg: flash message, 2nd arg: its category
        ##i dont know anything about flash messages right now, but still...
        flash("Successfully registered!", "success")

        ##pulls data from taken form and creates user accordingly
        ##do not forget that create_user() is a class method defined by us
        model.User.create_user(
            username=form.username.data,
            firstname=form.firstname.data,
            lastname=form.lastname.data,
            email=form.email.data,
            ##create_user func encrypts it
            password=form.password.data)
        ##its good to redirect after a post request
        return redirect(url_for("index"))
    ##if get request
    return render_template("register.html", form=form)
コード例 #19
0
ファイル: routes.py プロジェクト: Ideefixze/knowway_server
def register():

    error = ""
    #Hey mate, if you are logged in, you don't have to register...
    if (session.get('auth')):
        return redirect(url_for('main'))

    #Handle post request from register form
    form = f.RegisterForm()
    if request.method == 'POST':

        user = SERVER.scanUsername(request.form['username'])  #get local user
        correctPassword = (hasher.hash(
            request.form['password']) == hasher.hash(
                request.form['password2']))

        if user is None and correctPassword == True and form.validate_on_submit(
        ):
            uid = SERVER.registerNewUser(request.form['username'],
                                         hasher.hash(request.form['password']))
            session['auth'] = SERVER.getUser(uid).getAuthCode()
            return redirect(url_for('main'))
        else:
            if (correctPassword == False):
                error = "Repeat password correctly."
            if (user is not None):
                error = "Account with this username already exists!"
            if form.validate_on_submit() == False:
                error = "Username minimum length is 5 and password should have at least 8 characters!"

    return render_template('register.html',
                           title=TITLE,
                           form=form,
                           error=error)
コード例 #20
0
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        flash('Yay you registered', 'success')
        # creating the user when user first registers
        models.User.create_user(email=form.email.data,
                                password=form.password.data)
    return render_template('register.html', form=form)
コード例 #21
0
ファイル: tacocat.py プロジェクト: leighd2008/tacocat
def register():
    form = forms.RegisterForm()  # flask knows to use the imput from the user
    if form.validate_on_submit():
        flash("Registration Complete!", "success")
        models.User.create_user(email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #22
0
def register():
    """registers user allowing user to login"""
    form = forms.RegisterForm()
    if form.validate_on_submit():
        models.User.create_user(email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('list'))
    return render_template('register.html', form=form)
コード例 #23
0
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template("register.html", form=form)
コード例 #24
0
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        flash("Yay you registered!", "success")
        models.User.create_user(email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #25
0
ファイル: app.py プロジェクト: aldominium/FaceSmash
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        flash('Fuiste Registrado!!!', 'success')
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #26
0
ファイル: app.py プロジェクト: anjaligr05/don8
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        flash("Registration Complete, please sign in", "success")
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #27
0
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        flash("Congrats, Registered Successfully!", "success")
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('login'))
    return render_template('register.html', form=form)
コード例 #28
0
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        flash("You've been signed up, now just log-in", "success")
        return redirect(url_for('login'))
    return render_template('register.html', form=form)
コード例 #29
0
def register():
    """View to show register form and validate data for a new user."""
    form = forms.RegisterForm()
    if form.validate_on_submit():
        flash("You have registered successfully!")
        models.User.create_user(username=form.username.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #30
0
def register():
    form = forms.RegisterForm()
    if form.validate_on_submit():
        db.register_user(form.username.data, form.password.data,
                         form.email.data, form.dob.data,
                         'Tell us a bit about yourself')
        flash("Registration Successful", "success")
        return redirect(url_for('index'))
    return render_template('register.html', form=form)