Advertisement
Guest User

Moja piękna strona

a guest
Aug 18th, 2022
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.87 KB | Source Code | 0 0
  1. from flask import Flask, redirect, url_for, render_template, request, session, flash
  2. from datetime import timedelta
  3. from flask_sqlalchemy import SQLAlchemy
  4.  
  5. app = Flask(__name__)
  6. app.secret_key = 'Janusz Gwardzista'
  7. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.sqlite3'
  8. app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
  9. app.permanent_session_lifetime = timedelta(minutes=1)
  10.  
  11. db = SQLAlchemy(app)
  12.  
  13.  
  14. class users(db.Model):
  15.     _id = db.Column("id", db.Integer, primary_key = True)
  16.     name = db.Column(db.String(100))
  17.     email = db.Column(db.String(100))
  18.     def __init__(self, name, email):
  19.         self.name = name
  20.         self.email = email
  21.  
  22.  
  23. @app.route("/")
  24. def home():
  25.     return render_template('index.html', content= 'Testing')
  26.  
  27. @app.route("/test")
  28. def test():
  29.     return render_template('new.html', content= 'Testing')
  30.  
  31. #To mi przeszkadza :(
  32. #@app.route('/<name>')
  33. #def user(name):
  34. #    return f'Cześć, {name}!'
  35.  
  36. @app.route('/admin/')
  37. def admin():
  38.     return redirect(url_for('user', name = 'Admin'))
  39.  
  40. @app.route('/login/', methods = ['POST', 'GET'])
  41. def login():
  42.     if request.method == 'POST':
  43.         session.permanent = True
  44.         user = request.form['nm']
  45.         session['user'] = user
  46.  
  47.         found_user = users.query.filter_by(name=user).first()
  48.         if found_user:
  49.             session['email'] = found_user.email
  50.         else:
  51.             usr = users(user, "")
  52.             db.session.add(usr)
  53.             db.session.commit()
  54.         flash("You have been logged in, congratulations!, you've just won your life!", "info")
  55.         return redirect(url_for('user'))
  56.     else:
  57.         if "user" in session:
  58.             flash("You are already logged in!", "info")
  59.             return redirect(url_for('user'))
  60.         else:
  61.             return render_template('login.html')
  62.  
  63. @app.route("/user/", methods=["POST", "GET"])
  64. def user():
  65.     email = None
  66.     if "user" in session:
  67.         user = session["user"]
  68.         if request.method == "POST":
  69.             email = request.form["email"]
  70.             session["email"] = email
  71.             found_user = users.query.filter_by(name=user).first()
  72.             found_user.email = email
  73.             db.commit()
  74.             flash('You succesfully logged in', "info")
  75.         else:
  76.             if "email" in session:
  77.                 email = session["email"]
  78.         return render_template('user.html', email=email)
  79.     else:
  80.         flash("You are not logged in!", "info")
  81.         return redirect(url_for('login'))
  82.  
  83. @app.route("/logout/")
  84. def logout():
  85.     if 'user' in session:
  86.         user = session["user"]
  87.         flash('You have been logged out - Leave your home, you have 1 minute before FBI enters your apartament', "info")
  88.     session.pop("user", None)
  89.     session.pop("email", None)
  90.     return redirect(url_for('login'))
  91.  
  92.  
  93. if __name__ == '__main__':
  94.     app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement