コード例 #1
0
    def post(self):
        form = LoginForm(request.form)
        if form.validate():
            username = request.form.get('username')
            password = request.form.get('password')

            try:
                User.try_login(username, password)
            except Exception as e:
                flash('Invalid username or password. Please try again.',
                      'danger')
                return render_template('login.html', form=form)

            user = User.query.filter_by(username=username).first()
            if not user:
                user = User(username, password)
                db.session.add(user)
                db.session.commit()
            login_user(user)
            flash('You have successfully logged in.', 'success')
            return redirect(url_for('auth.home'))

        if form.errors:
            flash(form.errors, 'danger')

        return render_template('login.html', form=form)