mirror of
https://github.com/assenzostefano/class-website.git
synced 2025-06-06 00:39:12 +02:00
It finally takes homework automatically, I just have to enter the dates and upload them to the database - I started a very basic but still very broken login system.
This commit is contained in:
34
app.py
34
app.py
@ -1,5 +1,6 @@
|
||||
from flask import Flask, render_template, request, session, jsonify
|
||||
from flask import Flask, render_template, request, session, jsonify, redirect
|
||||
import requests
|
||||
import pymongo
|
||||
import logging
|
||||
import bcrypt
|
||||
import sys
|
||||
@ -45,6 +46,37 @@ def api():
|
||||
if(request.method == 'GET'):
|
||||
data = "hello world"
|
||||
return jsonify({'data': data})
|
||||
|
||||
@app.route('/login', methods = ['GET', 'POST'])
|
||||
def login():
|
||||
#Create login with Mongodb
|
||||
logging.info("A user went up: Login")
|
||||
message = 'Please login to your account'
|
||||
if "email" in session:
|
||||
return redirect(url_for("logged_in"))
|
||||
|
||||
if request.method == "POST":
|
||||
email = request.form.get("email")
|
||||
password = request.form.get("password")
|
||||
|
||||
|
||||
email_found = records.find_one({"email": email})
|
||||
if email_found:
|
||||
email_val = email_found['email']
|
||||
passwordcheck = email_found['password']
|
||||
|
||||
if bcrypt.checkpw(password.encode('utf-8'), passwordcheck):
|
||||
session["email"] = email_val
|
||||
return redirect(url_for('logged_in'))
|
||||
else:
|
||||
if "email" in session:
|
||||
return redirect(url_for("logged_in"))
|
||||
message = 'Wrong password'
|
||||
return render_template('login.html', message=message)
|
||||
else:
|
||||
message = 'Email not found'
|
||||
return render_template('login.html', message=message)
|
||||
return render_template('login.html', message=message)
|
||||
|
||||
if __name__ == '__main__':
|
||||
logging.info("Web server started!")
|
||||
|
Reference in New Issue
Block a user