Esta extensión le permite agregar una sección frontend simple a su aplicación Flask. Todos los artículos se extraen del back-end de WordPress de Canonical a través de la API JSON.
Esta extensión proporciona un plan con 3 rutas:
Para instalar esta extensión como requisito en su proyecto, puede usar PIP;
pip3 install canonicalwebteam.blogConsulte también la documentación para la instalación de PIP.
Para el desarrollo local, es mejor probar este módulo con uno de nuestros proyectos de sitios web como Ubuntu.com. Para obtener más información, siga esta guía (solo interna).
El módulo espera plantillas HTML en blog/index.html , blog/article.html , blog/blog-card.html , blog/archives.html , blog/upcoming.html y blog/author.html .
Se puede encontrar un ejemplo de estas plantillas en https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blog.
En su aplicación puede hacer lo siguiente:
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" )Puede personalizar el blog a través de los siguientes argumentos opcionales:
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 ,
),
)
) Todas las pruebas se pueden ejecutar con ./setup.py test .
Todas las llamadas de API están atrapadas con VCR y se guardan como accesorios en el directorio fixtures . Si la API se actualiza, todos los accesorios se pueden actualizar fácilmente simplemente eliminando el directorio fixtures y volver a sintiendo las pruebas.
Para hacer esto, ejecute rm -rf fixtures && ./setup.py test .