from base import base from base.forms import LoginForm from base.models import User class FrontView(MethodView): """ Tha application front page. Just renders the template :file:`templates/base/main.html` """ def get(self): return render_template('base/main.html') base.add_url_rule('', view_func=FrontView.as_view('front_page')) class LoginView(MethodView): _messages = { 'success': 'You are the boss!', 'invalid_auth': 'Who are you?', 'invalid_data': 'Invalid data.', } def get(self): """ Handles the HTTP GET requests (overriding :meth:`MethodView.get`) . :return: The rendered login form page. """ return render_template('login.html', form=LoginForm())
# -*- coding: utf-8 -*- from flask.templating import render_template from flask.views import MethodView from base import base class FrontView(MethodView): def get(self): return render_template('base/main.html') base.add_url_rule('', view_func=FrontView.as_view('front_page'))
from flask.templating import render_template from flask.views import MethodView from flask import flash, redirect, request, url_for from flask.ext.login import login_user, login_required, logout_user from ext import login_manager from base import base from base.forms import LoginForm from base.models import User class FrontView(MethodView): def get(self): return render_template('base/main.html') base.add_url_rule('', view_func=FrontView.as_view('front_page')) class LoginView(MethodView): _messages = {'success': 'You are the boss!', 'invalid_auth': 'Who are you?', 'invalid_form': 'Invalid form.', } def get(self): return render_template('login.html', form=LoginForm()) def post(self): form = LoginForm() if not form.validate_on_submit(): flash(self._messages['invalid_form'])
# -*- coding: utf-8 -*- """ base.views ~~~~~~~~~~ """ from base import base from baseviews import BaseView from flask import flash, redirect, request, url_for class IndexView(BaseView): _template = 'index.html' def get(self): return self.render() base.add_url_rule('', view_func=IndexView.as_view('index')) class AboutView(BaseView): _template = 'about.html' def get(self): return self.render() base.add_url_rule('/about',view_func=AboutView.as_view('about'))