Compare commits
	
		
			6 Commits 
		
	
	
		
			06cc7c5708
			...
			37634eef6a
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								 | 
						37634eef6a | 5 months ago | 
| 
							
							
								 | 
						960e55bdae | 5 months ago | 
| 
							
							
								 | 
						5b0feb63ac | 5 months ago | 
| 
							
							
								 | 
						a6218563be | 5 months ago | 
| 
							
							
								 | 
						5d929dc5ba | 5 months ago | 
| 
							
							
								 | 
						1294564127 | 5 months ago | 
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								@ -1,97 +0,0 @@
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
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 = [
 | 
				
			||||
    {
 | 
				
			||||
        'pagetitle': 'home page'
 | 
				
			||||
    }
 | 
				
			||||
]
 | 
				
			||||
 | 
				
			||||
navbaritems = [
 | 
				
			||||
 | 
				
			||||
    {
 | 
				
			||||
        'name': 'home',
 | 
				
			||||
        'url': 'home'
 | 
				
			||||
    },
 | 
				
			||||
    {
 | 
				
			||||
        'name': 'login',
 | 
				
			||||
        'url': 'login'
 | 
				
			||||
    },
 | 
				
			||||
    {
 | 
				
			||||
        'name': 'register',
 | 
				
			||||
        'url': 'register'
 | 
				
			||||
    }
 | 
				
			||||
]
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/")
 | 
				
			||||
@app.route("/home")
 | 
				
			||||
def home():
 | 
				
			||||
    return render_template('home.html', posts=posts, navbaritems=navbaritems)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/about")
 | 
				
			||||
def about():
 | 
				
			||||
    return render_template('about.html', title='About', posts=posts, navbaritems=navbaritems)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/register", methods=['GET', 'POST'])
 | 
				
			||||
def register():
 | 
				
			||||
    form = RegistrationForm()
 | 
				
			||||
    if form.validate_on_submit():
 | 
				
			||||
        flash(f'Account created for {form.username.data}!')
 | 
				
			||||
        return redirect(url_for('home'))
 | 
				
			||||
    return render_template('register.html', title='Register', form=form)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/login", methods=['GET', 'POST'])
 | 
				
			||||
def login():
 | 
				
			||||
    form = LoginForm()
 | 
				
			||||
    if form.validate_on_submit():
 | 
				
			||||
        if form.email.data == 'admin' and form.password.data == 'admin':
 | 
				
			||||
            flash('You have been log in !')
 | 
				
			||||
            return redirect(url_for('home'))
 | 
				
			||||
        else:
 | 
				
			||||
            flash('Login Unsuccessful')
 | 
				
			||||
    return render_template('login.html', title='Login', form=form)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
if __name__ == '__main__':
 | 
				
			||||
    app.run(debug=True, host='0.0.0.0', port=8700)
 | 
				
			||||
@ -0,0 +1,10 @@
 | 
				
			||||
 | 
				
			||||
from flask import Flask
 | 
				
			||||
from flask_sqlalchemy import SQLAlchemy   # type: ignore
 | 
				
			||||
 | 
				
			||||
app = Flask(__name__)
 | 
				
			||||
app.config['SECRET_KEY'] = 'db3746b2ffa650b3804e4316d227f853'
 | 
				
			||||
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blogsite.db'
 | 
				
			||||
db = SQLAlchemy(app)
 | 
				
			||||
 | 
				
			||||
from blogapp import routes
 | 
				
			||||
@ -0,0 +1,27 @@
 | 
				
			||||
from datetime import datetime
 | 
				
			||||
from blogapp import db
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
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}')"
 | 
				
			||||
@ -0,0 +1,58 @@
 | 
				
			||||
from flask import render_template, url_for, flash, redirect
 | 
				
			||||
from blogapp import app
 | 
				
			||||
from blogapp.forms import RegistrationForm, LoginForm
 | 
				
			||||
from blogapp.models import User, Post
 | 
				
			||||
 | 
				
			||||
posts = [
 | 
				
			||||
    {
 | 
				
			||||
        'pagetitle': 'home page'
 | 
				
			||||
    }
 | 
				
			||||
]
 | 
				
			||||
 | 
				
			||||
navbaritems = [
 | 
				
			||||
 | 
				
			||||
    {
 | 
				
			||||
        'name': 'home',
 | 
				
			||||
        'url': 'home'
 | 
				
			||||
    },
 | 
				
			||||
    {
 | 
				
			||||
        'name': 'login',
 | 
				
			||||
        'url': 'login'
 | 
				
			||||
    },
 | 
				
			||||
    {
 | 
				
			||||
        'name': 'register',
 | 
				
			||||
        'url': 'register'
 | 
				
			||||
    }
 | 
				
			||||
]
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/")
 | 
				
			||||
@app.route("/home")
 | 
				
			||||
def home():
 | 
				
			||||
    return render_template('home.html', posts=posts, navbaritems=navbaritems)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/about")
 | 
				
			||||
def about():
 | 
				
			||||
    return render_template('about.html', title='About', posts=posts, navbaritems=navbaritems)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/register", methods=['GET', 'POST'])
 | 
				
			||||
def register():
 | 
				
			||||
    form = RegistrationForm()
 | 
				
			||||
    if form.validate_on_submit():
 | 
				
			||||
        flash(f'Account created for {form.username.data}!')
 | 
				
			||||
        return redirect(url_for('home'))
 | 
				
			||||
    return render_template('register.html', title='Register', form=form)
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@app.route("/login", methods=['GET', 'POST'])
 | 
				
			||||
def login():
 | 
				
			||||
    form = LoginForm()
 | 
				
			||||
    if form.validate_on_submit():
 | 
				
			||||
        if form.email.data == 'admin' and form.password.data == 'admin':
 | 
				
			||||
            flash('You have been log in !')
 | 
				
			||||
            return redirect(url_for('home'))
 | 
				
			||||
        else:
 | 
				
			||||
            flash('Login Unsuccessful')
 | 
				
			||||
    return render_template('login.html', title='Login', form=form)
 | 
				
			||||
											
												Binary file not shown.
											
										
									
								@ -0,0 +1,5 @@
 | 
				
			||||
 | 
				
			||||
from blogapp import app
 | 
				
			||||
 | 
				
			||||
if __name__ == '__main__':
 | 
				
			||||
    app.run(debug=True, host="0.0.0.0", port=8700)
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue