#main.py import os from flask import Flask from controllers.index import Index app = Flask(__name__) Index.register(app, route_base='/') if __name__ == '__main__': app.run(debug=True)
#controllers/index.py
import config, copy
from flask import render_template, request
from flask_classful import FlaskView, route
from models.userdb import Userdb
class Index(FlaskView):
def __init__(self):
self.vdict = copy.deepcopy(config.vdict)
self.userdb = Userdb()
@route('/')
def index(self):
return render_template('index.html', data=self.vdict)
@route('/login/', methods=['GET', 'POST'])
def login(self):
if request.method == 'POST':
email = request.form['femail']
#if(self.userdb.check_username(username)):
return render_template('dashboard.html', data=self.vdict)
return render_template('login.html', data=self.vdict)
#models/userdb.py
import os, psycopg2
class Userdb():
def __init__(self):
self.create_table()
def set_conection(self):
if 'DYNO' in os.environ:
DATABASE_URL = os.environ['DATABASE_URL']
self.conn = psycopg2.connect(DATABASE_URL, sslmode='require')
self.cursor = self.conn.cursor()
else:
self.conn = psycopg2.connect(
database="postgres",
user="postgres",
password="sokhavuth",
host="localhost",
port="5432"
)
self.cursor = self.conn.cursor()
def create_table(self):
self.set_conection()
SQL = '''CREATE TABLE IF NOT EXISTS TEACHERS(
ID SERIAL PRIMARY KEY,
EMAIL VARCHAR(320),
PASSWORD VARCHAR(320),
ROLE TEXT
)'''
self.cursor.execute(SQL)
self.conn.commit()
self.conn.close()
def insert(self, *user):
self.set_conection()
self.cursor.execute("INSERT INTO TEACHERS (EMAIL, PASSWORD, ROLE) VALUES %s ", (user,))
self.conn.commit()
self.conn.close()
GitHub: "https://github.com/Sokhavuth/E-Learning
Heroku: https://khmerweb-elearning.herokuapp.com/














