Advertisement
Guest User

Untitled

a guest
Jan 7th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.15 KB | None | 0 0
  1. from flask import Flask, Response
  2. from flask import Flask, flash, render_template, request, session, Markup
  3. import os
  4. from flask_sqlalchemy import SQLAlchemy
  5.  
  6.  
  7. app = Flask(__name__)
  8. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:damian123@localhost/sklep'
  9. db = SQLAlchemy(app)
  10.  
  11.  
  12. class Product(db.Model):
  13.     __tablename__ = "product"
  14.     id = db.Column(db.Integer, primary_key=True, autoincrement=True)
  15.     name = db.Column(db.String)
  16.     description = db.Column(db.String)
  17.     cena = db.Column(db.Integer)
  18.  
  19.  
  20. class ProductUser(db.Model):
  21.     __tablename__ = "userproducts"
  22.     id = db.Column(db.Integer, primary_key=True, autoincrement=True)
  23.     quantity = db.Column(db.Integer)
  24.  
  25.     product_id = db.Column(db.Integer, db.ForeignKey('product.id'))
  26.     product = db.relationship('Product',
  27.                                backref=db.backref('users', lazy='dynamic'))
  28.  
  29.     user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
  30.     user = db.relationship('User',
  31.                             backref=db.backref('products', lazy='dynamic'))
  32. class User(db.Model):
  33.  
  34.     __tablename__ = "users"
  35.     id = db.Column(db.Integer, primary_key=True, autoincrement=True)
  36.     username = db.Column(db.String)
  37.     password = db.Column(db.String)
  38.  
  39.     def __init__(self, username, password):
  40.         self.username = username
  41.         self.password = password
  42.  
  43.     def __repr__(self):
  44.         return '<User %r>' % self.username
  45.  
  46. @app.route('/')
  47. def home():
  48.     if not session.get('logged_in'):
  49.         return render_template('login.html')
  50.     else:
  51.         username = str(request.form['username'])
  52.         usertoShow = User.query.filter_by(username=[username]).first()
  53.         return render_template('index.html', user_show = usertoShow)
  54.  
  55. @app.route('/register', methods=['POST','GET'])
  56. def register():
  57.     if request.method == 'GET':
  58.         return render_template('register.html')
  59.     elif request.method == 'POST':
  60.         username = str(request.form['username'])
  61.         password = str(request.form['password'])
  62.         user = User(username=username, password=password)
  63.         if (len(username) >=4 and len(username) <8) and (len(password) >=4 and len(password) <8):
  64.             db.session.add(user)
  65.             db.session.commit()
  66.             flash('You have registered the username {0}. Please login'.format(username))
  67.             return render_template('login.html')
  68.         else:
  69.             flash('Login lub haslo musi zawierac wiecej niz 4 i mniej niz 8 znakow')
  70.             return render_template('register.html')
  71.  
  72. ##Logowanie
  73. @app.route('/login', methods=['POST'])
  74. def login():
  75.     username = str(request.form['username'])
  76.     password = str(request.form['password'])
  77.     result = User.query.filter_by(username=[username],password=[password]).first()
  78.     if result:
  79.         session['logged_in'] = True
  80.     else:
  81.         flash(Markup('Zly login lub haslo.<br>Chcialbys sie <a href="/register">zarejestrowac?</a>'))
  82.     return home()
  83.  
  84. ###Logout##
  85. @app.route("/logout")
  86. def logout():
  87.     session['logged_in'] = False
  88.     return render_template('login.html')
  89.  
  90.  
  91. if __name__ == "__main__":
  92.     app.secret_key = os.urandom(12)
  93.     app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement