DjangoでオープンソースのECサイトを作る方法。Saleor(https://saleor.io)やOscar(django-oscar)を使ってみよう。

DjangoでECサイト作りをしたいと考えていたところに、YouTubeで良さげな動画を見つけました。

「Python Django e-Commerce Tutorial 2020 – for Beginners」

とても簡潔に説明がされています。
ローカル環境で動くところまで。

上の動画のECサイトの実装ではSaleorhttps://saleor.io/)というDjangoのライブラリを使っています。

デモサイト:
https://demo.saleor.io/

デモサイト管理画面
https://pwa.saleor.io/dashboard/

このライブラリはオープンソースですが、サーバーをSaleorの用意するクラウドで動かしたい場合は別途月々の料金が必要なようです。スタンダードプランで月に約7万6千円ほど(695ドル/月)。ちょっと高すぎる。
ただ、個人で普通に使いたいだけならフリープラン(自分でサーバーなどを用意する)でいけそうです。
フリープランでもカスタマイズや商用利用が可能です。

Djangoは最初からログイン/ログアウト(認証)やアクセス制限などの
「管理権限系の処理」と、その管理画面が実装されているので、
Djangoを入れるだけでユーザーとスーパーユーザー(管理人)を分けて処理を行うことなどが出来ます。

(ちなみに上記デモサイトでも分かるようにSaleorでは管理画面はDjangoの管理画面ではなくSaleorの管理画面が用意されています。)

___________________
※2020年10月追記
:アクセスが増えていたので追記です。
Saleorを実際に使ってみたところ、最新バージョンではDocker(仮想コンテナ)が必須になっていました。Dockerの知識が必要です。ご注意ください。
_______(追記おわり)_____

また、ちょっと調べてみたところ、Saleorとは別に、Oscar(https://github.com/django-oscar/django-oscar)というEコマースのライブラリもあるようです。

『コピペで始めるDjango Oscor – Qiita』
https://qiita.com/shinriyo/items/a59412f4569171e41606

『django oscar 簡易チュートリアル – Qiita』
https://qiita.com/d0d0npa/items/4a4cc9914feebf60bbc0

Cartridgeというライブラリも発見。
https://github.com/stephenmcd/cartridge

このようなストア系のライブラリがあれば、車輪の再発明のような事をしなくても良いのですね。
選択肢が広がります。


話は別ですが、個人的には2020年5月現在でオリジナルのECサイトを作る一番簡単な方法は、WordPressにWooCommerceのプラグインを入れてStripe決済にすることだと思います。
Stripeは維持費なし、手数料が販売金額の3.6%のみ。凄いのは振込手数料も0円です。

限定公開URLやパスワードをつけることが出来るのでかなり良いです。
海外から作曲の依頼があったときにデータの受け渡しやライセンスの販売に使えます。
購入後のダウンロード期限(日数)の設定まで出来ます。
ゲスト購入(アカウントを作らずにE-Mailのみでの購入)も可能。

※ちなみに、レンタルサーバーで運用する場合は「国外IPアドレスフィルタ」の「アクセス制限設定」を無効にして国外のウェブアクセスを許可しないと、購入後にユーザーに提供するダウンロードリンクが利かないので、海外販売を視野に入れる場合はこの設定は無効にしましょう。

ただ、これだと商品表示の方法や音楽プレイヤーの表示・仕様の自由なカスタマイズなど、自分の思っているような事が微妙に出来ないんですよね。

ということで色々調べています。


・Djangoで1からECサイトを作る方法

あとは、YouTuberのDennis Ivyという人がDjango + PayPalのECサイトの作り方を解説している動画があります。この人の英語はとても聞き取りやすく明瞭なのでオススメです。

Code With Steps
https://codewithsteps.herokuapp.com/

上記サイトで、これらの動画に沿いながらコードを実装できるように丁寧に説明しています。
(サイトの方は有料。買い切りです。12.49ドルでした。)

Djangoでのショッピングカート実装の仕組みなどを学ぶには十分すぎる内容だと思います。

僕はこのサイトで勉強中です。Bootstrapのバージョンだけ4なので注意ですね。
(2021年5月5日にBootstrap5が発表されたので若干古くなってしまいました。)


以上、メモ用に書き残しておきます。