Creating Book Template
#controllers/book.py
import config, copy, uuid, datetime
from flask import render_template, session, redirect, request
from lib import Lib
from models.dashboard.bookdb import Bookdb
class Book():
def __init__(self):
self.lib = Lib()
self.bookdb = Bookdb()
def get_post_book(self):
vdict = copy.deepcopy(config.vdict)
vdict['books'] = self.bookdb.select(vdict['book_max_post'])
vdict['thumbs'] = self.lib.get_thumbs(vdict['books'], 2)
return vdict
def get_book(self, id):
vdict = copy.deepcopy(config.vdict)
vdict['book'] = self.bookdb.select(1, id=id)
return vdict
def load(self, page):
vdict = copy.deepcopy(config.vdict)
vdict['books'] = self.bookdb.select(vdict['book_max_post'], page=page)
vdict['thumbs'] = self.lib.get_thumbs(vdict['books'], 2)
new_list = []
for book in vdict['books']:
new_book = list(book)
new_book[3] = book[3].strftime('%d/%m/%Y')
new_book[4] = book[4].strftime('%H:%M:%S')
new_list.append(new_book)
vdict['books'] = new_list
return vdict
<!--templates/book.html-->
{% extends "base.html" %}
{% block head %}
{{ super() }}
<link href="/static/styles/fbook.css" rel="stylesheet" >
{% endblock %}
{% block content %}
<h3><span class="book-title">{{ data['book'][1] }}</span></h3>
<p class="book-meta">
{% if 'logged-in' in session %}
<span><a href="/dashboard/book/edit/{{ data['book'][0] }}"><img src="/static/images/edit.png" /></a>
<a href="/dashboard/book/delete/{{ data['book'][0] }}"><img src="/static/images/delete.png" /></a>
</span>
{% endif %}
</p>
<article class="book-body">{{ data['book'][2]|safe }}</a></article>
<div style="margin-top:20px;" id="disqus_thread"></div>
<script>
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://khmerweb.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endblock %}
/*static/styles/post.css*/
#main{
display: grid;
grid-template-columns: 75% auto;
grid-gap: 20px;
margin-top: 30px;
}
#main #content, #main #sidebar{
background: lavender;
min-height: 400px;
}
#main #content{
padding: 20px;
}
#main #content .book-title{
font: 20px/1.5 Oswald, Koulen;
}
#main #content .book-body{
margin-top: 30px;
}
#main #content .book-body img{
display: none;
}
#main #content .book-meta{
margin: 20px 0;
}
#main #content .book-meta span{
float: right;
position: relative;
top: -15px;
}
#main #content .book-meta img{
width: 30px;
margin-left: 5px;
}
@media only screen and (max-width: 600px){
#main{
grid-template-columns: 100%;
padding: 20px;
}
}
GitHub: "https://github.com/Sokhavuth/E-Learning
Heroku: https://khmerweb-elearning.herokuapp.com/

Comments
Post a Comment