Advertisement
Guest User

Untitled

a guest
Apr 9th, 2022
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. from flask import Flask, render_template, request, redirect, url_for, session
  2. from flask_mysqldb import MySQL
  3. import boto3, MySQLdb.cursors, os
  4. from werkzeug.utils import secure_filename
  5.  
  6.  
  7. app = Flask(__name__)
  8.  
  9. app.config['SECRET_KEY'] = os.getenv('SECRET_KEY')
  10. app.config['MYSQL_HOST'] = os.getenv('MYSQL_HOST')
  11. app.config['MYSQL_USER'] = os.getenv('MYSQL_USER')
  12. app.config['MYSQL_PASSWORD'] = os.getenv('MYSQL_PASSWORD')
  13. app.config['MYSQL_DB'] = os.getenv('MYSQL_DB')
  14.  
  15. mysql = MySQL(app)
  16.  
  17. s3 = boto3.client('s3',
  18. aws_access_key_id= os.getenv('AWS_ACCESS_KEY'),
  19. aws_secret_access_key= os.getenv('AWS_SECRET_KEY')
  20. )
  21. bucket_name = os.getenv('BUCKET_NAME')
  22.  
  23. @app.route('/', methods=['GET', 'POST'])
  24. def login():
  25. msg = ''
  26. if request.method == 'POST' and 'username' in request.form and 'password' in request.form:
  27. username = request.form['username']
  28. password = request.form['password']
  29. cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor)
  30. cursor.execute('SELECT * FROM accounts WHERE username = %s AND password = %s', (username, password,))
  31. account = cursor.fetchone()
  32. if account:
  33. session['loggedin'] = True
  34. session['id'] = account['id']
  35. session['username'] = account['username']
  36. return render_template('user.html')
  37. else:
  38. msg = 'Incorrect username or password'
  39.  
  40. return render_template('index.html', msg=msg)
  41.  
  42.  
  43. @app.route('/logout')
  44. def logout():
  45. session.pop('loggedin', None)
  46. session.pop('id', None)
  47. session.pop('username', None)
  48. return redirect(url_for('login'))
  49.  
  50. @app.route('/upload', methods=['POST'])
  51. def upload():
  52. if request.method == 'POST':
  53. img = request.files['file']
  54. if img:
  55. filename = secure_filename(img.filename)
  56. img.save(filename)
  57. s3.upload_file(
  58. Bucket = bucket_name,
  59. Filename = filename,
  60. Key = filename
  61. )
  62. msg = "Upload Done !"
  63. return render_template("user.html",msg=msg)
  64.  
  65. @app.route('/dbusers', methods=['POST'])
  66. def userdb():
  67. cur = mysql.connection.cursor()
  68. cur.execute('SELECT firstname, lastname FROM users')
  69. userslist = []
  70. for (firstname, lastname) in cur:
  71. row = str(f'{firstname} {lastname}')
  72. userslist.append(row)
  73. cur.close()
  74.  
  75. return render_template('user.html', data=userslist)
  76.  
  77. if __name__ == "__main__":
  78. app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement