If you go ahead with this, you’re not building a website, you’re building an app - essentially a micro e-commerce platform.
I’ve built out a custom e-commerce app with Django for a client. Very similar to your requirements - product options, cart, orders etc.. There is a lot more than you think.
We actually championed using Shopify in the beginning but the client needed custom functionality and integration with a legacy system so we had to go with Django.
I would strongly suggest using something off-the-shelf if you can. There is a lot of work and maintenance in even a "small" app like this.