Mercurial > kraina_muminkow
view frontend/mfrontend/views/frontend.py @ 11:69ecfe51d585
Dodałem prosty prototyp API
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Mon, 07 Mar 2011 11:04:11 +0100 |
parents | 58a993029d9f |
children | c87f82a15606 |
line wrap: on
line source
#!/usr/bin/python # -*- coding: utf-8 -*- from flask import Module, render_template, request, url_for from flask import escape, session, redirect, flash, abort, g from mfrontend import db, utils, exceptions frontend = Module(__name__) @frontend.route('/') def index(): return render_template('hello.html') @frontend.route('/install/') def install(): """Instaluje aplikację, tworząc pustą bazę danych według schematu. """ if db.init_db(): return render_template('install_ok.html') else: abort(404) @frontend.route('/login/', methods=['GET', 'POST']) def login(): if request.method == 'POST': try: if db.user_can_login(request.form['username'], request.form['password']) : session['user_id'] = db.get_user_id(request.form['username']) session['user_name'] = request.form['username'] session['logged_in'] = True flash(u'Zalogowano') return redirect(url_for('index')) else: raise exceptions.BadPasswordOrUsername() except (exceptions.UserNotActivated, exceptions.BadPasswordOrUsername) as e: flash(e) return redirect(url_for('index')) return render_template('login.html') @frontend.route('/logout/') def logout(): """Funkcja powoduje wyczyszczenie sesji użytkownika, a w efekcie wylogowanie z systemu. """ session.clear() g.user = None flash('Wylogowano') return redirect(url_for('index')) @frontend.route('/register/', methods=['GET', 'POST']) def register(): """Funkcja do rejestrowania użytkowników.""" if request.method == 'POST': try: db.register_user(request.form['username'], request.form['password']) flash(u'Konto założone, poczekaj na akceptację administratora.') return redirect(url_for('index')) except exceptions.UserExists as e: flash(e) return redirect(url_for('register')) return render_template('register.html')