예제 #1
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()

        user = db_sess.query(User).filter(
            User.email == form.email.data).first()
        print(user)
        if user != None:
            if User.check_password(user, form.password.data):
                save(form.email.data, form.password.data, "log")
                return redirect("/")
            else:
                return render_template("login.html",
                                       title="Авторизация",
                                       menu=menu,
                                       form=form,
                                       message="Неверный email или пароль")
        else:
            return render_template("login.html",
                                   title="Авторизация",
                                   menu=menu,
                                   form=form,
                                   message="Неверный email")

    return render_template("login.html",
                           title="Авторизация",
                           menu=menu,
                           form=form)
예제 #2
0
파일: main.py 프로젝트: iuperf/projecttt
def register():
    form = User_register()
    if form.validate_on_submit():
        user = User()
        user.name = form.name.data
        user.surname = form.surname.data
        user.age = form.age.data
        db_sess = db_session.create_session()
        a = db_sess.query(User).filter(User.email == form.email.data).first()
        if not form.email.data.endswith(
                'gmail.com') and not form.email.data.endswith(
                    'mail.ru') and not form.email.data.endswith('yandex.com'):
            return render_template(
                'register.html',
                message=
                "Почта должна оканчиватся на gmail.com, mail.ru или yandex.com",
                form=form)
        if not a:
            user.email = form.email.data
        else:
            return render_template('register.html',
                                   message="Такой E-mail уже зарегестрирован",
                                   form=form)
        if form.birth_date.data.count('.') == 2 or len(
                form.birth_date.data) != 10:
            user.birth_date = form.birth_date.data
        else:
            return render_template(
                'register.html',
                message="пишите дату в формате 00(день).00(месяц).0000(год)",
                form=form)
        user.set_password(str(form.password.data))
        stroka = [
            f'Поздравляем с регистрацией {user.name} {user.surname}!',
            f'Вы зарегестрировались на нашем сайте',
            f'Вы указали что вам {user.age} лет и ваш день рождения {user.birth_date}!'
        ]
        stroka = '\n'.join(stroka)
        send_message(form.email.data, stroka)
        db_sess = db_session.create_session()
        db_sess.add(user)
        db_sess.commit()
        db_sess = db_session.create_session()
        user = db_sess.query(User).filter(
            User.email == form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=True)

        return redirect("/")
    else:
        return render_template('register.html',
                               message="Упс, что то ввели неправильно",
                               form=form)
    return render_template('register.html', title='Регистрация', form=form)
예제 #3
0
def registration():
    if current_user.is_authenticated:
        return redirect('/feed')
    form = RegistrationForm()
    if form.validate() and request.method == 'POST':
        if get_user_by_username(form.username.data):
            return '<h1>username has already taken</h1>'
        user = User()
        user.username = form.username.data
        user.name = form.name.data
        user.surname = form.surname.data
        # user.email = form.email.data # TODO: email verification
        user.set_password(form.password.data)
        session = create_session()
        session.add(user)
        session.commit()
        if user.check_password(form.password.data) and user.is_active:
            from datetime import timedelta
            if login_user(user, remember=True, duration=timedelta(days=50)):
                return redirect('/feed')
            else:
                return '<h1>unable to log you in</h1>'
        return redirect('/feed')
    return render_template('registration.html', form=form)