#main.py import config from flask import Flask from controllers.index import Index app = Flask(__name__) app.secret_key = config.vdict['secret_key'] Index.register(app, route_base='/') if __name__ == '__main__': app.run(debug=True)
<!--templates/login.html-->
<!DOCTYPE html>
<html>
<head>
{% block head %}
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="description" content="This blog engine is built for e-learning">
<meta name="robots" content="index, follow">
<meta name='keywords' content='e-learning, learning, school, math, programming'>
<title>{{data['blog_title']}}</title>
<script src="/static/scripts/jQuery.js"></script>
<script src='/static/scripts/login.js'></script>
<link href="/static/styles/base.css" rel="stylesheet">
<link href="/static/styles/login.css" rel="stylesheet">
<link href="/static/fonts/setup.css" rel='stylesheet'>
<link href="/static/images/site_logo.png" rel="icon">
{% endblock %}
</head>
<body>
<div id="main" class="main region">
<div id="form-title">ទំរង់បែបបទចុះឈ្មោះ</div>
<form id="content" method="post" action="/login/">
{% block content %}
<a>Email:</a><input type="email" name="femail" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" required />
<a>ពាក្យសំងាត់ៈ</a><input type="password" name="fpassword" required />
<a></a><input type="submit" value="ចុះឈ្មោះ" />
{% endblock %}
</form>
</div>
<div id="footer" class="footer region">
{% block footer %}
© Copyright 2020 by <a href="https://www.khmerweb.app/">Khmer Web</a>.
<script>var base = new Base();</script>
{% endblock %}
</div>
</body>
</html>
#controllers/index.py
import config, copy
from flask import render_template, request, session, redirect
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']
password = request.form['fpassword']
if(self.userdb.check_user(email, password)):
session['email'] = email
return render_template('dashboard.html', data=self.vdict)
return render_template('login.html', data=self.vdict)
@route('/logout/')
def logout(self):
session.pop('email', None)
return redirect('/')
GitHub: "https://github.com/Sokhavuth/E-Learning
Heroku: https://khmerweb-elearning.herokuapp.com/














