يتيح لك هذا الامتداد إضافة قسم أمامي بسيط إلى تطبيق Flask الخاص بك. يتم سحب جميع المقالات من خلفية WordPress من Canonical من خلال API JSON.
يوفر هذا الامتداد مخططًا مع 3 طرق:
لتثبيت هذا الملحق كشرط في مشروعك ، يمكنك استخدام PIP ؛
pip3 install canonicalwebteam.blogانظر أيضًا وثائق تثبيت PIP.
للتنمية المحلية ، من الأفضل اختبار هذه الوحدة مع أحد مشاريع موقع الويب لدينا مثل ubuntu.com. لمزيد من المعلومات ، اتبع هذا الدليل (داخلي فقط).
تتوقع الوحدة النمطية قوالب HTML في blog/index.html ، blog/article.html ، blog/blog-card.html ، blog/archives.html ، blog/upcoming.html and blog/author.html .
يمكن العثور على مثال على هذه القوالب على https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blog.
في تطبيقك يمكنك بعد ذلك القيام بما يلي:
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" )يمكنك تخصيص المدونة من خلال الوسائط الاختيارية التالية:
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 ,
),
)
) يمكن تشغيل جميع الاختبارات باستخدام ./setup.py test .
يتم اكتشاف جميع مكالمات API مع VCR وحفظها كتجهيزات في دليل fixtures . إذا تم تحديثات API ، يمكن بسهولة تحديث جميع التركيبات عن طريق إزالة دليل fixtures وإعادة إعادة الاختبارات.
للقيام بذلك ، قم بتشغيل rm -rf fixtures && ./setup.py test .