Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import logging
- from logging.handlers import RotatingFileHandler
- import pymysql
- from flask import Flask, request, url_for, render_template, redirect, flash, make_response, session
- app = Flask(__name__, template_folder='./templates')
- @app.route('/login_user', methods=['GET', 'POST'])
- def login_user():
- error = None
- if request.method == 'POST':
- if valid_login(request.form['username'],request.form['password']):
- flash('Succesfully logged in')
- session['username'] = request.form.get('username')
- return redirect(url_for('Welcome'))
- else:
- error = "Incorrect username and password"
- app.logger.warning('Incorrect username and password for user (%s)', request.form.get('username'))
- return render_template('login.html', error=error)
- @app.route('/logout')
- def logout():
- response = make_response(redirect(url_for('login_user')))
- response.set_cookie('username', '', expires=0)
- return response
- def valid_login(username, password):
- #mysql
- MYSQL_DATABASE_HOST = os.getenv('IP', '0.0.0.0')
- MYSQL_DATABASE_USER = 'pythonlover'
- MYSQL_DATABASE_PASSWORD = ''
- MYSQL_DATABASE_DB = 'my_app'
- conn = pymysql.connect(
- host=MYSQL_DATABASE_HOST,
- user=MYSQL_DATABASE_USER,
- passwd=MYSQL_DATABASE_PASSWORD,
- db=MYSQL_DATABASE_DB
- )
- cur = conn.cursor()
- cur.execute("SELECT * FROM user WHERE username='%s' AND password='%s'" % (username, password))
- data = cur.fetchone()
- if data:
- return True
- else:
- return False
- @app.route('/')
- def Welcome():
- if 'username' in session:
- return render_template('Welcome.html', username=session['username'])
- else:
- return redirect(url_for('login_user'))
- @app.route('/user/<username>')
- def user_page(username):
- return 'User' + str(username)
- @app.route('/post/<int:post_id>')
- def get_post(post_id):
- return 'This is for post' + str(post_id)
- if __name__ == '__main__':
- app.debug = True
- app.secret_key = 'Super$ecretkey'
- logging
- handler = RotatingFileHandler('error.log', maxBytes=10000, backupCount=1)
- handler.setLevel(logging.INFO)
- app.logger.addHandler(handler)
- 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