Guest User

Untitled

a guest
Jan 5th, 2018
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.15 KB | None | 0 0
  1. from flask import Flask
  2. from flask_wtf import FlaskForm
  3. from wtforms import StringField, DecimalField, validators, SubmitField
  4. from flask import render_template, redirect, url_for, request
  5. from wtforms.validators import InputRequired, Length
  6. from flask_sqlalchemy import SQLAlchemy
  7. import enum
  8. import somestuff
  9.  
  10. app = Flask(__name__)
  11. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:' + somestuff.mysql_pass + '@localhost/grocerylist'
  12. db = SQLAlchemy(app)
  13.  
  14.  
  15. class MyEnum(enum.Enum):
  16.     piece = "piece"
  17.     kg = "kg"
  18.  
  19. class Category(db.Model):
  20.     __tablename__ = 'category'
  21.     id = db.Column(db.Integer, primary_key=True)
  22.     name = db.Column(db.String(25), nullable=False)
  23.  
  24. class Product(db.Model):
  25.     __tablename__ = 'product'
  26.     id = db.Column(db.Integer, primary_key=True)
  27.     name = db.Column(db.String(30), nullable=False)
  28.     quantity = db.Column(db.Integer, nullable=False)
  29.     product_type = db.Column(db.Enum(MyEnum), nullable=False)
  30.     category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
  31.     description = db.Column(db.String(255))
  32.  
  33.     category = db.relationship("Category",
  34.                             backref=('products'))
  35.  
  36. db.create_all()
  37. db.session.commit()
  38.  
  39.  
  40. app.config.update(dict(
  41.     SECRET_KEY="super awesome key"
  42. ))
  43.  
  44. class MyForm(FlaskForm):
  45.     name = StringField('Product name', validators=[InputRequired(), Length(min=1, max=30)])
  46.     product_quantity = DecimalField('Quantity', validators=[InputRequired()])
  47.     product_type = StringField('Product Type')
  48.     category = StringField('Category')
  49.     description = StringField("Description", validators=[Length(min=0, max=255)])
  50.  
  51. @app.route('/', methods=['GET', 'POST'])
  52. def index():
  53.     form = MyForm()
  54.     if form.validate_on_submit():
  55.         return redirect(url_for('success'))
  56.     return render_template('submit.html', form=form)
  57.  
  58.  
  59. @app.route('/success', methods=['GET', 'POST'])
  60. def success():
  61.     dates = request.form.name, request.form.quantity, request.form.product_type, request.form.category_id, request.form.description
  62.     return render_template('result_submit.html', dates=dates)
  63.  
  64. if __name__ == "__main__":
  65.     app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment