def create(self, *args, **kwargs): u"""メモの新規保存処理をします。""" form = request.form.copy() result, data = ArticleModel.validate(form) if not result: alert = {'errors': data} tmp = self.renderTemplate('index/form.html', action="/", method="POST") defaults = { 'title': form['title'], 'text': form['text'], 'tags': form['tags'] } form = htmlfill.render(tmp, defaults) return self.renderTemplate('index/new.html', form=form, alert=alert) else: model = ArticleModel() try: model.publish(title=data['title'], text=data['text']) SystemInfoModel.incrementArticleCount() createTags(data['tags'], model) flash(u'保存したかもしれない', 'success') except: flash((u'失敗したぽよ'), 'errors') return redirect('/')
def post_article(title: str = Form(...), body: str = Form(...), session_id=Cookie(default=None)): article_model = ArticleModel(config) user_id = session.get(session_id).get("user").get("id") article_model.create_article(user_id, title, body) return RedirectResponse("/articles", status_code=HTTP_302_FOUND)
def articles_index(request: Request, session_id=Cookie(default=None)): user = session.get(session_id).get("user") article_model = ArticleModel(config) articles = article_model.fetch_recent_articles() return templates.TemplateResponse("article-index.html", { "request": request, "articles": articles, "user": user })
def article_detail_page(request: Request, article_id: int, session_id=Cookie(default=None)): article_model = ArticleModel(config) article = article_model.fetch_article_by_id(article_id) user = session.get(session_id).get("user") return templates.TemplateResponse("article-detail.html", { "request": request, "article": article, "user": user })