python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

  • カート内の同一商品の区別を明確にする(バグ修正)

カート内の同一商品の区別を明確にする(バグ修正)

ここでは、カート内の同一商品の区別を明確にするため、プログラムを修正します。これまで作成したプログラムでは、注文フォームから商品追加後のカート内で、同じ商品名のものは、個数を変更したり、削除するときにその区別がされず、両方が連動して変更・削除されていました。これに対処します。

release-orderapp-cart-bugブランチ

ここでは、release-orderapp-cart-bugブランチを作成して作業を行います。

$ git checkout -b release-orderapp-cart-bug

apps/ordersapp/app.py

ルート:order_formでセッションに追加するカートアイテムにcart_item_idを追加します。ここにはuuid.uuid4()で生成したIDを保管します。

uuid.uuid4() は、「ランダムな一意のID(UUID)」を生成する関数です。
Python の標準ライブラリ uuid に含まれており、データの識別子などに使われます。

# カートに追加(テーブルごとにセッションを使用)
        cart = get_cart(table_id)
        cart.append(
            {
                "cart_item_id": str(uuid.uuid4()),
                "product_id": product.id,
                "product_name": product.name,
                "product_image": product.image_url,
                "quantity": quantity,
                "total": total,
            }
        )

ルート:update_quantity や remove_item ではこれまで「product_id」を利用してカート内の商品を識別してきましたが、不十分だったため、「cart_item_id」の利用に切り替えます。

apps/ordersapp/app.pyファイルを次のように編集します。

この続きはNoteとなります。

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...