import os
from controllers import HomeController, ArticlesController
from examples.constants import INIT_QUERIES, DB_SETTINGS
from python_yeet.app import Yeet
from python_yeet.db import Database
app = Yeet(name=os.path.basename(os.getcwd()))
app.add_route(r'^articles/$', ArticlesController(methods=['GET', 'POST']))
app.add_route(r'^.*$', HomeController)
db = Database(db_settings=DB_SETTINGS,
init_queries=INIT_QUERIES)
app.run()
import datetime
from python_yeet.orm import BaseModel, BaseManager
class Article(BaseModel):
table_name = "articles"
manager_class = BaseManager
id: int
title: str
text: str
author: int
created_at: datetime.datetime
from examples.models.article import Article
from python_yeet.controllers import BaseController
class ArticlesController(BaseController):
def get(self, path):
return self.render_template('articles.html', articles=self._get_articles())
@staticmethod
def _get_articles():
articles = Article.objects.select("id", "title")
return articles