Advertisement
Guest User

Untitled

a guest
Oct 8th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. import os
  2. import logging
  3. from logging.handlers import RotatingFileHandler
  4. import pymysql
  5.  
  6. from flask import Flask, request, url_for, render_template, redirect, flash, make_response, session
  7. app = Flask(__name__, template_folder='./templates')
  8.  
  9. @app.route('/login_user', methods=['GET', 'POST'])
  10. def login_user():
  11. error = None
  12. if request.method == 'POST':
  13. if valid_login(request.form['username'],request.form['password']):
  14. flash('Succesfully logged in')
  15. session['username'] = request.form.get('username')
  16. return redirect(url_for('Welcome'))
  17. else:
  18. error = "Incorrect username and password"
  19. app.logger.warning('Incorrect username and password for user (%s)', request.form.get('username'))
  20. return render_template('login.html', error=error)
  21.  
  22. @app.route('/logout')
  23. def logout():
  24. response = make_response(redirect(url_for('login_user')))
  25. response.set_cookie('username', '', expires=0)
  26. return response
  27.  
  28. def valid_login(username, password):
  29. #mysql
  30. MYSQL_DATABASE_HOST = os.getenv('IP', '0.0.0.0')
  31. MYSQL_DATABASE_USER = 'pythonlover'
  32. MYSQL_DATABASE_PASSWORD = ''
  33. MYSQL_DATABASE_DB = 'my_app'
  34. conn = pymysql.connect(
  35. host=MYSQL_DATABASE_HOST,
  36. user=MYSQL_DATABASE_USER,
  37. passwd=MYSQL_DATABASE_PASSWORD,
  38. db=MYSQL_DATABASE_DB
  39. )
  40. cur = conn.cursor()
  41. cur.execute("SELECT * FROM user WHERE username='%s' AND password='%s'" % (username, password))
  42. data = cur.fetchone()
  43. if data:
  44. return True
  45. else:
  46. return False
  47. @app.route('/')
  48. def Welcome():
  49. if 'username' in session:
  50. return render_template('Welcome.html', username=session['username'])
  51.  
  52. else:
  53. return redirect(url_for('login_user'))
  54.  
  55.  
  56. @app.route('/user/<username>')
  57. def user_page(username):
  58. return 'User' + str(username)
  59.  
  60. @app.route('/post/<int:post_id>')
  61. def get_post(post_id):
  62. return 'This is for post' + str(post_id)
  63.  
  64. if __name__ == '__main__':
  65. app.debug = True
  66. app.secret_key = 'Super$ecretkey'
  67. logging
  68. handler = RotatingFileHandler('error.log', maxBytes=10000, backupCount=1)
  69. handler.setLevel(logging.INFO)
  70. app.logger.addHandler(handler)
  71. app.run(host=os.getenv('IP', '0.0.0.0'), port=int(os.getenv('PORT', 5000)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement