from flask import Flask, flash, render_template, request, redirect, url_for, session, flash
from flask_sqlalchemy import SQLAlchemy
import os
from datetime import datetime
DB_NAME = 'dreamlist.db'
app = Flask(__name__)
app.config['SECRET_KEY'] = "asdfkkkkkkkallalall"
app.config['SQLALCHEMY_DATABASE_URI'] = f"sqlite:///{DB_NAME}"
db = SQLAlchemy(app)
class Users(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(85), nullable=False)
surname = db.Column(db.String(85), nullable=False)
email = db.Column(db.String(85), nullable=False)
password = db.Column(db.String(155), nullable=False)
dreams = db.relationship('Dreams', backref='dreamer')
def __repr__(self):
return self.name + " " + self.surname
class Dreams(db.Model):
id = db.Column(db.Integer, primary_key=True)
dream = db.Column(db.String(85), nullable=False)
detay = db.Column(db.String(255), nullable=False)
quote = db.Column(db.String, nullable=False)
date_added = db.Column(db.DateTime(155), default=datetime.utcnow)
dreamer_id = db.Column(db.Integer, db.ForeignKey('users.id'))
@app.route("/")
def home():
if 'email' in session:
email = session['email']
me = Users.query.filter_by(email=email).first()
dreams = Dreams.query.all()
return render_template('home.html', me=me, dreams=dreams)
return redirect(url_for('login'))
@app.route("/register", methods=["GET", "POST"])
def register():
if request.method == "POST":
name = request.form.get('name')
surname = request.form.get('surname')
email = request.form.get('email')
password = request.form.get('password')
search = Users.query.filter_by(email=email).first()
if search != None:
flash('Bu E-posta İle Açılmış Hesap Zaten Var!')
return render_template('register.html')
new_user = Users(name=name, surname=surname, email=email, password=password)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('login'))
return render_template('register.html')
@app.route("/login", methods=["GET", "POST"])
def login():
if 'email' in session:
return redirect(url_for('home'))
if request.method == "POST":
email = request.form.get('email')
password = request.form.get('password')
search = Users.query.filter_by(email=email, password=password).first()
if search is None:
flash("Yanlış Giriş Yaptın")
return render_template('login.html')
if password == search.password:
return redirect(url_for("home"))
return render_template('login.html')
@app.route("/logout")
def logout():
session.pop("email", None)
return redirect(url_for('home'))
@app.route("/create", methods=["GET", "POST"])
def create():
if 'email' in session:
email = session['email']
me = Users.query.filter_by(email='email').first()
if request.method == "POST":
dream = request.form.get("job")
detay = request.form.get("detay")
new_jobs = Dreams(dream=dream, detay=detay, dreamer_id=me.id)
db.session.add(new_jobs)
db.session.commit()
return render_template('create.html')
@app.route("/detail")
def detail():
return render_template('detail.html')
@app.errorhandler(404)
def error(e):
return render_template('404.html')
if __name__ == "__main__":
if not os.path.exists(DB_NAME):
db.create_all(app=app)
print("DATABASE OLUŞTURULDU!")
app.debug = True
app.run(debug = True)
Giriş yap sayfasında giriş yaptıktan sonra home sayfasına yönlendirmesi lazım ama yönlendirmiyor nedeni nedir ben mi yanlış yaptım da görmüyorum?