diff options
| -rw-r--r-- | templates/login.htm (renamed from login.htm) | 10 | ||||
| -rw-r--r-- | wedding.py | 70 |
2 files changed, 75 insertions, 5 deletions
diff --git a/login.htm b/templates/login.htm index 3381b5b..3d55ef6 100644 --- a/login.htm +++ b/templates/login.htm @@ -6,12 +6,12 @@ <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"> - <link href="static/wedding.css" rel="stylesheet"> + <link href="{{url_for('static', filename='wedding.css')}}" rel="stylesheet"> </head> <body> <div class="container"> <div class="row"> - <img class="center-block" src="static/banner1.jpg" alt="banner"> + <img class="center-block" src="{{url_for('static', filename='banner1.jpg')}}" alt="banner"> </div> <div class="login row"> <form id = "connection" action="/login/" role="form" @@ -20,13 +20,13 @@ <label for="language" class="col-md-4 control-label">Language:</label> <div class="col-md-8"> <label class="radio-inline"> - <input type="radio" name="language">English + <input type="radio" value="en" name="language" checked>English </label> <label class="radio-inline"> - <input type="radio" name="language">Francais + <input type="radio" value="fr" name="language">Francais </label> <label class="radio-inline"> - <input type="radio" name="language">Nasi + <input type="radio" value="sr" name="language">Nasi </label> </div> <br/> diff --git a/wedding.py b/wedding.py new file mode 100644 index 0000000..e027502 --- /dev/null +++ b/wedding.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +import sqlite3 +#all the imports +from flask import Flask, request, session, g, redirect, url_for, render_template +from functools import wraps +import hashlib +from flask_mail import Mail, Message + +app = Flask(__name__) +app.config.from_envvar('CONF') +mail = Mail(app) + +def query_db(query, args=(), one=False): + cur = get_db().execute(query, args) + rv = cur.fetchone() if one else cur.fetchall() + cur.close() + return rv + +def connect_db(): + conn = sqlite3.connect(app.config['DATABASE'], + detect_types=sqlite3.PARSE_DECLTYPES) + conn.row_factory = sqlite3.Row + return conn + +def get_db(): + db = getattr(g, 'sqlite_db', None) + if db is None: + db = g.sqlite_db = connect_db() + return db + +@app.teardown_appcontext +def close_db(error): + """Closes the database again at the end of the request.""" + db = getattr(g, 'sqlite_db', None) + if db: + db.close() + +def login_required(f): + @wraps(f) + def decorated_function(*args, **kwargs): + if 'user_name' not in session: + return redirect(url_for('login', next=request.url)) + return f(*args, **kwargs) + return decorated_function + +@app.route('/') +@app.route('/home/') +@login_required +def main_page(): + print "i'm here" + return render_template("{0}/main.htm".format(session["lang"]), + lang=session["lang"]) + +@app.route('/login/', methods=['GET', 'POST']) +def login(): + session.clear() + if 'user_name' in session: + return redirect(url_for('main_page')) + + error = None + if request.method == 'POST': + session['user_name'] = request.form['username'] + password = hashlib.md5(request.form['password']).hexdigest() + session['lang'] = request.form['language'] + print session + return redirect(url_for('main_page')) + return render_template('login.htm') + +if __name__=="__main__": + app.run() |
