Swathi6 commited on
Commit
2ac5345
·
verified ·
1 Parent(s): 3a517e9

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +70 -0
app.py ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, render_template, request, redirect, url_for, flash
2
+ from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user
3
+ from model import verify_user
4
+
5
+ app = Flask(__name__)
6
+ app.secret_key = 'your_secret_key' # Required for sessions
7
+
8
+ # Setup Flask-Login
9
+ login_manager = LoginManager()
10
+ login_manager.init_app(app)
11
+
12
+ # Dummy users data (to simulate user registration)
13
+ users_db = {}
14
+
15
+ class User(UserMixin):
16
+ def __init__(self, id):
17
+ self.id = id
18
+
19
+ @login_manager.user_loader
20
+ def load_user(user_id):
21
+ return User(user_id)
22
+
23
+ # Home Route (only accessible when logged in)
24
+ @app.route('/')
25
+ @login_required
26
+ def home():
27
+ return render_template('home.html', user=current_user)
28
+
29
+ # Login Route
30
+ @app.route('/login', methods=['GET', 'POST'])
31
+ def login():
32
+ if request.method == 'POST':
33
+ username = request.form['username']
34
+ password = request.form['password']
35
+
36
+ # Authenticate user using Hugging Face model (optional)
37
+ if username in users_db and users_db[username] == password:
38
+ user = User(username)
39
+ login_user(user)
40
+ return redirect(url_for('home'))
41
+ else:
42
+ flash('Invalid username or password!', 'danger')
43
+
44
+ return render_template('login.html')
45
+
46
+ # Register Route
47
+ @app.route('/register', methods=['GET', 'POST'])
48
+ def register():
49
+ if request.method == 'POST':
50
+ username = request.form['username']
51
+ password = request.form['password']
52
+
53
+ if username not in users_db:
54
+ users_db[username] = password
55
+ flash('Registration successful! Please log in.', 'success')
56
+ return redirect(url_for('login'))
57
+ else:
58
+ flash('Username already exists!', 'danger')
59
+
60
+ return render_template('register.html')
61
+
62
+ # Logout Route
63
+ @app.route('/logout')
64
+ @login_required
65
+ def logout():
66
+ logout_user()
67
+ return redirect(url_for('login'))
68
+
69
+ if __name__ == '__main__':
70
+ app.run(debug=True)