シリーズ Today's Update きょうの更新
Article Filter 記事の絞り込み機能
2つのフィルターを実装 Two filters for too many articles.
Publication Date: 2022.1.13 (Thu) 公開日時: 2022年1月13日(木)

このところは雪が降らせるような寒波が多く、外気とほぼ隣り合わせの谷6Fabでの作業は、特に足元が冷えがちになります。
そんな中、今週末のインテックス大阪こみっくトレジャー39 出展にむけて、お絵かき&音ゲーが捗るタブレットスタンド「Engawa by 谷6Fab」の増産作業、そして当ウェブサイトの機能更新のためのコーディング作業を続けています。今回は後者のおはなし。

記事一覧ページ上部にフィルター機能を追加しました。
記事カテゴリ(話題、行事、作品といった分類)とブランド(名義、サークル名などからなる分類)から記事を絞り込めます。
今回はDjangoのURLディスパッチャを活用。

# 記事を絞り込むための関数。
def get_articles(
    type: ArticleType = None, 
    brand: Brand = None,
):
    target_type = type if type in ArticleType.values else True
    target_brand = brand if brand in Brand.values else True

    articles = []
    for article in Article.objects.order_by('-date_begin'):
        if (target_type == True or article.type == target_type) \
            and (target_brand == True or article.brand == target_brand) \
            and article.publish_status() is PublishStatus.PUBLISH:
            articles.append(article)

次は年と月での絞り込みを実装したい。

個別記事を開くためのリンクオブジェクト(タイルと呼称)の見た目にも手を加えました。
サムネイル画像がない時は、記事カテゴリを示すアイコンが出るようにしています。アイコンは愛用のFont Awesome。独自のブランドアイコンもこれで表示しています。

Topic 話題
Yuhki Takahashi Yuhki Takahashi
Today's Update きょうの更新
Python Python
Django Django
Coding プログラミング