from flask import Flask, render_template, request, redirect, session
app = Flask(__name__)
app.secret_key = 'your_secret_key'
users = {
'admin': {'username': 'admin', 'password': 'password'},
# Add more users if needed
}
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
email = request.form['email']
if username in users:
return render_template('register.html', error='Username already taken')
users[username] = {'username': username, 'password': password, 'email': email}
session['username'] = username # Store the username in the session
return redirect('/user/' + username)
return render_template('register.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username in users and users[username]['password'] == password:
session['username'] = username # Store the username in the session
return redirect('/user/' + username)
else:
return render_template('login.html', error='Invalid username or password')
return render_template('login.html')
@app.route('/user/<username>')
def user_page(username):
if 'username' in session and session['username'] == username:
user = users[username]
return render_template('user.html', user=user)
else:
return redirect('/login')
@app.route('/logout')
def logout():
session.pop('username', None) # Remove the username from the session
return redirect('/login')
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)