Mit dieser Erweiterung können Sie Ihrer Flask -App einen einfachen Frontend -Abschnitt hinzufügen. Alle Artikel werden durch die JSON-API aus dem WordPress-Back-End von Canonical gezogen.
Diese Erweiterung bietet eine Blaupause mit 3 Routen:
Um diese Erweiterung als Anforderung in Ihrem Projekt zu installieren, können Sie PIP verwenden.
pip3 install canonicalwebteam.blogSiehe auch die Dokumentation für PIP -Installation.
Für die lokale Entwicklung ist es am besten, dieses Modul mit einem unserer Website -Projekte wie Ubuntu.com zu testen. Für weitere Informationen folgen Sie diesem Handbuch (nur intern).
Das Modul erwartet HTML-Vorlagen unter blog/index.html , blog/article.html , blog/blog-card.html , blog/archives.html , blog/upcoming.html und blog/author.html .
Ein Beispiel für diese Vorlagen finden Sie unter https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blog.
In Ihrer App können Sie Folgendes machen:
import flask
import talisker . requests
from flask_reggie import Reggie
from canonicalwebteam . blog import BlogViews , build_blueprint , BlogAPI
app = flask . Flask ( __name__ )
Reggie (). init_app ( app )
session = talisker . requests . get_session ()
blog = build_blueprint (
BlogViews (
api = BlogAPI ( session = session ),
)
)
app . register_blueprint ( blog , url_prefix = "/blog" )Sie können den Blog über die folgenden optionalen Argumente anpassen:
blog = build_blueprint (
BlogViews (
blog_title = "Blog" ,
blog_path = "blog" ,
tag_ids = [ 1 , 12 , 112 ],
exclude_tags = [ 26 , 34 ],
per_page = 12 ,
feed_description = "The Ubuntu Blog Feed" ,
api = BlogAPI (
session = session ,
use_image_template = True ,
thumbnail_width = 330 ,
thumbnail_height = 185 ,
),
)
) Alle Tests können mit ./setup.py test durchgeführt werden.
Alle API -Anrufe werden mit VCR gefangen und als Spielgeräte im Verzeichnis des fixtures gespeichert. Wenn die API -Updates, können alle Geräte problemlos aktualisiert werden, indem nur das Verzeichnis fixtures entfernt und die Tests erneut ausgeführt werden.
Um dies zu tun, führen Sie rm -rf fixtures && ./setup.py test aus.