Advertisement
Kitood

Untitled

Jan 13th, 2023
877
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.59 KB | None | 0 0
  1. from flask import Flask, render_template, url_for, flash, redirect
  2. from forms import *
  3. from flask_sqlalchemy import SQLAlchemy
  4. from datetime import datetime
  5.  
  6. app = Flask(__name__)
  7. app.config['SECRET_KEY'] = 'rdfve4r3442c4234c34'
  8. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
  9. db = SQLAlchemy(app)
  10.  
  11. class User(db.Model):
  12.     id = db.Column(db.Integer, primary_key=True)
  13.     username = db.Column(db.String(20), unique=True, nullable=False)
  14.     email = db.Column(db.String(120), unique=True, nullable=False)
  15.     image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
  16.     password = db.Column(db.String(60), nullable=False)
  17.     posts = db.relationship('Post', backref='author', lazy=True)
  18.  
  19.     def __repr__(self):
  20.         return f"User('{self.username}','{self.email}','{self.image_file}')"
  21.  
  22. class Post(db.Model):
  23.     id = db.Column(db.Integer, primary_key=True)
  24.     title = db.Column(db.String(100), nullable=False)
  25.     date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
  26.     content = db.Column(db.Text, nullable=False)
  27.     user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
  28.  
  29.  
  30.     def __repr__(self):
  31.         return f"Post('{self.Title}','{self.date_posted}')"
  32.  
  33.  
  34. posts = [
  35.     {
  36.         'author' : 'Corey Schafer',
  37.         'title' : 'Blog 1',
  38.         'content' : 'First post',
  39.         'date_posted' : '12 January, 2023'
  40.     },
  41.     {
  42.         'author' : 'Jane Doe',
  43.         'title' : 'Blog 2',
  44.         'content' : 'Second post',
  45.         'date_posted' : '13 January, 2023'
  46.     }
  47. ]
  48. @app.route("/")
  49. @app.route("/home")
  50. def home():
  51.     return render_template('home.html', posts=posts)
  52.  
  53. @app.route("/about")
  54. def about():
  55.     return render_template('about.html', title='About lol')
  56.  
  57. @app.route("/register", methods=['GET','POST'])
  58. def register():
  59.     form = RegistrationForm()
  60.     if form.validate_on_submit():
  61.         flash(f'Account created for {form.username.data}!', 'success')
  62.         return redirect(url_for('home'))
  63.     return render_template('register.html', title='Register', form=form)
  64.  
  65. @app.route("/login", methods=['GET','POST'])
  66. def login():
  67.     form = LoginForm()
  68.     if form.validate_on_submit():
  69.         if form.email.data=='abcdef@gmail.com' and form.password.data=='abcdef':
  70.             flash('You have been logged in!', 'success')
  71.             return redirect(url_for('home'))
  72.  
  73.         else:
  74.             flash('Login invalid, check email and password', 'danger')
  75.     return render_template('login.html', title='Login', form=form)
  76.  
  77.  
  78. if __name__ == "__main__":
  79.     app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement