diff --git a/Rapport.docx b/Rapport.docx index 652bd4b..6004db9 100644 Binary files a/Rapport.docx and b/Rapport.docx differ diff --git a/blog-app/blogapp.py b/blog-app/blogapp.py index f05de36..faaf81e 100644 --- a/blog-app/blogapp.py +++ b/blog-app/blogapp.py @@ -1,9 +1,42 @@ + + +from datetime import datetime from flask import Flask, render_template, url_for, flash, redirect +from flask_sqlalchemy import SQLAlchemy # type: ignore from forms import RegistrationForm, LoginForm - app = Flask(__name__) app.config['SECRET_KEY'] = 'db3746b2ffa650b3804e4316d227f853' +app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blogsite.db' + +db = SQLAlchemy(app) + + +class User(db.Model): + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(20), unique=True, nullable=False) + email = db.Column(db.String(120), unique=True, nullable=False) + image_file = db.Column(db.String(20), nullable=False, + default='default.jpg') + password = db.Column(db.String(60), nullable=False) + posts = db.relationship('Post', backref='author', lazy=True) + + def __repr__(self): + return f"User('{self.username}', '{self.image_file}')" + + +class Post(db.Model): + id = db.Column(db.Integer, primary_key=True) + title = db.Column(db.String(100), nullable=False) + date_posted = db.Column(db.DateTime, nullable=False, + default=datetime.utcnow) + content = db.Column(db.Text, nullable=False) + user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) + + + def __repr__(self): + return f"Post('{self.title}', '{self.date_posted}')" + posts = [ { @@ -12,7 +45,7 @@ posts = [ ] navbaritems = [ - + { 'name': 'home', 'url': 'home' @@ -38,6 +71,7 @@ def home(): def about(): return render_template('about.html', title='About', posts=posts, navbaritems=navbaritems) + @app.route("/register", methods=['GET', 'POST']) def register(): form = RegistrationForm() @@ -60,4 +94,4 @@ def login(): if __name__ == '__main__': - app.run(debug=True, port=8700) + app.run(debug=True, host='0.0.0.0', port=8700) diff --git a/blog-app/instance/blogsite.db b/blog-app/instance/blogsite.db new file mode 100644 index 0000000..31bc1ac Binary files /dev/null and b/blog-app/instance/blogsite.db differ diff --git a/blog-app/requirements.txt b/blog-app/requirements.txt index f924291..3adfbe9 100644 Binary files a/blog-app/requirements.txt and b/blog-app/requirements.txt differ