43 lines
930 B
Python
43 lines
930 B
Python
import os
|
|
|
|
from flask import Flask, render_template_string, \
|
|
session, request, redirect, url_for
|
|
|
|
app = Flask(__name__)
|
|
|
|
app.secret_key = 'F12Zr47j\3yX R~X@H!jLwf/T'
|
|
|
|
|
|
@app.route('/login')
|
|
def login():
|
|
page = '''
|
|
<form action="{{ url_for('do_login') }}" method="post">
|
|
<p>Input name: <input type="text" name="user_name" /></p>
|
|
<input type="submit" value="Submit" />
|
|
</form>
|
|
'''
|
|
return render_template_string(page)
|
|
|
|
|
|
@app.route('/do_login', methods=['POST'])
|
|
def do_login():
|
|
name = request.form.get('user_name')
|
|
session['user_name'] = name
|
|
return 'Hello, '+session['user_name']+' !'
|
|
|
|
|
|
@app.route('/logout')
|
|
def logout():
|
|
session.pop('user_name', None)
|
|
return redirect(url_for('login'))
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# Bind to PORT if defined, otherwise default to 5000.
|
|
port = int(os.environ.get('PORT', 5000))
|
|
app.run(host='0.0.0.0', port=port)
|
|
|
|
|
|
|