Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.95 KB | None | 0 0
  1. from datetime import date
  2. from flask import Flask, redirect, request, url_for, render_template, session
  3. import sqlite3
  4. app = Flask(__name__, static_folder='static')       # our Flask app
  5. app.secret_key = "super secret key"
  6. DB_FILE = 'mydb.db'         # file for our Database
  7. connection = sqlite3.connect(DB_FILE, check_same_thread=False)
  8.  
  9. @app.route('/')
  10. def index():
  11.    
  12.     return render_template('index.html')
  13.  
  14.  
  15.  
  16. @app.route('/hz')
  17. def horizon():
  18.    
  19.     return render_template('hz.html')
  20.  
  21. @app.route('/uncharted')
  22. def uncharted():
  23.    
  24.     return render_template('uncharted.html')
  25.  
  26.  
  27.  
  28. @app.route('/guestbook', methods=['POST', 'GET'])
  29. def guestbook():
  30.     """
  31.     Accepts POST requests, and processes the form;
  32.     Redirect to view when completed.
  33.     """
  34.     connection = sqlite3.connect(DB_FILE)
  35.     cursor = connection.cursor()
  36.     cursor.execute("SELECT * FROM guestbook")
  37.     rv = cursor.fetchall()
  38.     cursor.close()
  39.     return render_template("guestbook.html",entries=rv)
  40.    
  41.  
  42.  
  43. def _insert(name, email, comment):
  44.     """
  45.     put a new entry in the database
  46.     """
  47.     params = {'name':name, 'email':email, 'comment':comment}
  48.     connection = sqlite3.connect(DB_FILE)
  49.     cursor = connection.cursor()  
  50.     cursor.execute("insert into guestbook VALUES (:name, :email, :comment)",params)
  51.     connection.commit()
  52.     cursor.close()
  53.  
  54. @app.route('/sign', methods=['POST'])
  55. def sign():
  56.     """
  57.     Accepts POST requests, and processes the form;
  58.     Redirect to index when completed.
  59.     """
  60.     _insert(request.form['name'], request.form['email'], request.form['comment'])
  61.     return redirect(url_for('guestbook'))
  62.  
  63. @app.route('/d2', methods=['POST', 'GET'])
  64. def reviews():
  65.     """
  66.     Accepts POST requests, and processes the form;
  67.     Redirect to view when completed.
  68.     """
  69.     connection = sqlite3.connect(DB_FILE)
  70.     cursor = connection.cursor()
  71.     cursor.execute("SELECT * FROM reviews")
  72.     rv = cursor.fetchall()
  73.     cursor.close()
  74.     return render_template("d2.html",entries=rv)
  75.  
  76. def _insert1(username, comment):
  77.     """
  78.     put a new entry in the database
  79.     """
  80.     params = {'username':username, 'comment':comment}
  81.     connection = sqlite3.connect(DB_FILE)
  82.     cursor = connection.cursor()  
  83.     cursor.execute("insert into reviews VALUES (:username, :comment)",params)
  84.     connection.commit()
  85.     cursor.close()
  86.  
  87. @app.route('/sign1', methods=['POST'])
  88. def sign1():
  89.     """
  90.     Accepts POST requests, and processes the form;
  91.     Redirect to index when completed.
  92.     """
  93.     _insert1(session['username'], request.form['comment'])
  94.     return redirect(url_for('reviews'))
  95.  
  96.  
  97. #SIGN IN.
  98.  
  99. @app.route('/login', methods=['POST', 'GET'])
  100. def login():
  101.     if request.method == 'POST':
  102.         query = "select * from accounts where username = '" + request.form['username']
  103.         query = query + "' and password = '" + request.form['password'] + "';"
  104.        
  105.         cur = connection.execute(query)
  106.         rv = cur.fetchall()
  107.        
  108.         cur.close()
  109.         if len(rv) == 1:
  110.             session['username'] = request.form['username']
  111.            
  112.             session['logged in'] = True
  113.  
  114.             return redirect('/')
  115.         else:
  116.             return render_template('login.html', msg="Check your login details and try again.")
  117.     else:
  118.         return render_template('login.html')
  119.  
  120. #LOG OUT
  121.  
  122. @app.route('/logout')
  123. def logout():
  124.     session.pop('logged in', None)
  125.     session.pop('username', None)
  126.     return redirect('/')
  127.  
  128.     #SIGN UP.
  129. def _insertuser(username, password):
  130.     params = {'username': username, 'password': password}
  131.     cursor = connection.cursor()
  132.     cursor.execute("insert into accounts(username, password) values (:username, :password)"
  133.                    , params)
  134.     connection.commit()
  135. @app.route('/signup', methods=['POST', 'GET'])
  136. def signup():
  137.     if request.method == 'POST':
  138.         _insertuser(request.form['user'], request.form['pass'])
  139.         return render_template('signup.html', msg="Thank you for signing up!")
  140.     else:
  141.         return render_template('signup.html')
  142.  
  143. if __name__ == '__main__':         
  144.     app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement