Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import Flask, Response
- from flask import Flask, flash, render_template, request, session, Markup
- import os
- from flask_sqlalchemy import SQLAlchemy
- app = Flask(__name__)
- app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:damian123@localhost/sklep'
- db = SQLAlchemy(app)
- class Product(db.Model):
- __tablename__ = "product"
- id = db.Column(db.Integer, primary_key=True, autoincrement=True)
- name = db.Column(db.String)
- description = db.Column(db.String)
- cena = db.Column(db.Integer)
- class ProductUser(db.Model):
- __tablename__ = "userproducts"
- id = db.Column(db.Integer, primary_key=True, autoincrement=True)
- quantity = db.Column(db.Integer)
- product_id = db.Column(db.Integer, db.ForeignKey('product.id'))
- product = db.relationship('Product',
- backref=db.backref('users', lazy='dynamic'))
- user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
- user = db.relationship('User',
- backref=db.backref('products', lazy='dynamic'))
- class User(db.Model):
- __tablename__ = "users"
- id = db.Column(db.Integer, primary_key=True, autoincrement=True)
- username = db.Column(db.String)
- password = db.Column(db.String)
- def __init__(self, username, password):
- self.username = username
- self.password = password
- def __repr__(self):
- return '<User %r>' % self.username
- @app.route('/')
- def home():
- if not session.get('logged_in'):
- return render_template('login.html')
- else:
- username = str(request.form['username'])
- usertoShow = User.query.filter_by(username=[username]).first()
- return render_template('index.html', user_show = usertoShow)
- @app.route('/register', methods=['POST','GET'])
- def register():
- if request.method == 'GET':
- return render_template('register.html')
- elif request.method == 'POST':
- username = str(request.form['username'])
- password = str(request.form['password'])
- user = User(username=username, password=password)
- if (len(username) >=4 and len(username) <8) and (len(password) >=4 and len(password) <8):
- db.session.add(user)
- db.session.commit()
- flash('You have registered the username {0}. Please login'.format(username))
- return render_template('login.html')
- else:
- flash('Login lub haslo musi zawierac wiecej niz 4 i mniej niz 8 znakow')
- return render_template('register.html')
- ##Logowanie
- @app.route('/login', methods=['POST'])
- def login():
- username = str(request.form['username'])
- password = str(request.form['password'])
- result = User.query.filter_by(username=[username],password=[password]).first()
- if result:
- session['logged_in'] = True
- else:
- flash(Markup('Zly login lub haslo.<br>Chcialbys sie <a href="/register">zarejestrowac?</a>'))
- return home()
- ###Logout##
- @app.route("/logout")
- def logout():
- session['logged_in'] = False
- return render_template('login.html')
- if __name__ == "__main__":
- app.secret_key = os.urandom(12)
- app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement