Mercurial > kraina_muminkow
annotate frontend/mfrontend/views/frontend.py @ 5:3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Sun, 27 Feb 2011 09:33:03 +0100 |
parents | cf786ee26a22 |
children | 27d63cac76ac |
rev | line source |
---|---|
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
1 #!/usr/bin/python |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
2 # -*- coding: utf-8 -*- |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
3 |
5
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
4 from flask import Module, render_template, request, url_for |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
5 from flask import escape, session, redirect, flash, abort |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
6 from mfrontend import db, utils |
1 | 7 frontend = Module(__name__) |
8 | |
9 @frontend.route('/') | |
10 def index(): | |
4 | 11 return render_template('hello.html') |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
12 |
5
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
13 @frontend.route('/install') |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
14 def install(): |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
15 """Instaluje aplikację, tworząc pustą bazę danych |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
16 według schematu. |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
17 """ |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
18 if db.init_db(): |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
19 return render_template('install_ok.html') |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
20 else: |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
21 abort(404) |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
22 |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
23 @frontend.route('/login', methods=['GET', 'POST']) |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
24 def login(): |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
25 if request.method == 'POST': |
4 | 26 if db.user_can_login(request.form['username'], |
27 request.form['password']) : | |
28 session['logged_in'] = True | |
29 session['logged_user'] = request.form['username'] | |
30 flash('Zalogowano') | |
31 return redirect(url_for('index')) | |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
32 return "Uname: {0}<br />Passwd: {1}<br />Hashpwd: {2}".format( |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
33 request.form['username'], |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
34 request.form['password'], |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
35 utils.hashPassword(request.form['password'])) |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
36 return render_template('login.html') |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
37 |
4 | 38 @frontend.route('/logout') |
39 def logout(): | |
40 """Funkcja powoduje wyczyszczenie sesji użytkownika, | |
41 a w efekcie wylogowanie z systemu. | |
42 """ | |
43 session.clear() | |
44 flash('Wylogowano') | |
45 return redirect(url_for('index')) |