from . import main from flask import Flask, request, render_template, redirect, url_for, flash, make_response, session from flask_login import login_required, login_user, current_user, logout_user from app.models import User, Post, Category, Feedback, db from .forms import ContactForm, LoginForm from werkzeug.exceptions import abort @main.route('/admin/') @login_required def admin(): return render_template('admin.html') @main.route('/') def index(): name = None if current_user.is_authenticated: name = current_user.name return render_template('index.html', name=name) @main.route('/login/', methods=['post', 'get']) def login(): if current_user.is_authenticated: return redirect(url_for('.admin')) form = LoginForm() if form.validate_on_submit(): user = db.session.query(User).filter(User.username == form.username.data).first() if user and user.check_password(form.password.data): login_user(user, remember=form.remember.data) nextpage = request.args.get('next', url_for('.admin')) return redirect(nextpage) else: flash("Invalid username/password", 'error') return render_template('login.html', form=form) @main.route('/user//') def user_profile(user_id): user = db.session.query(User).filter(User.id == user_id).first() if not user: abort(404) return "Profile for user: {}".format(user.name) @main.route('/logout/') @login_required def logout(): logout_user() flash("You have been logged out.") return redirect(url_for('.login')) @main.route('/contact/', methods=['get', 'post']) def contact(): form = ContactForm() if form.validate_on_submit(): name = form.name.data email = form.email.data message = form.message.data print(name) print(email) print(message) # здесь логика базы данных feedback = Feedback(name=name, email=email, message=message) db.session.add(feedback) db.session.commit() print("\nData received. Now redirecting ...") flash("Message Received", "success") return redirect(url_for('.contact')) return render_template('contact.html', form=form)