Awesome
Shopify Django App Example
This project makes it easy to get a Shopify app up and running with Django and the Python Shopify API.
This project simply displays basic information about the shop's products and orders.
This project has the following structure
shopify_app
an app which handles authentication (meant to be reusable)home
an app which contains the example code to demonstrate how to use the API (meant to be modified or replaced to create your Shopify App).shopify_django_app
project files for serving this app.
Get It Running
Create Your App Configuration
- Log in to your partners dashboard
- Navigate to your apps
- Click
Create App
- Choose a custom app or public app
- Fill in the app name
- Set the Application Url http://localhost:8000/
- Set Whitelisted redirection URL( http://localhost:8000/shopify/finalize/
You will then have access to your API key and API secret KEY, you will need these for the next steps.
Setup Environment
- Copy over the
.env.local
file into a.env
file and fill out theSHOPIFY_API_KEY
andSHOPIFY_API_SECRET
fields
cp .env.local .env
- Generate a secret key and add it to
.env
by running the following in the command line:
python -c 'import random; print("".join([random.choice("abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)") for i in range(50)]))' >> .env
For PC Users: Run this command in GIT Bash or Windows Subsystem For Linux. Alternatively, you can generate a secret key using the Python interpreter. This requires you to manually add the Django secret key to your .env
file by doing the following:
Open the python interpreter:
python
Inside the python interpreter, generate the secret key, copy it, and exit:
>>> import random
>>> print("".join([random.choice("abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)") for i in range(50)]))
>>> exit()
- [Optional] you can add the api version and api scopes environment variables to the
.env
file:
-
SHOPIFY_API_VERSION
default isunstable
-
SHOPIFY_API_SCOPE
a comma-separated list of scopes, default isread_products,read_orders
Run the App
We use pipenv to get running faster. With the
.env
already created in the root directory, run the app:
pipenv install
pipenv run python manage.py migrate
pipenv run python manage.py runserver
Open http://localhost:8000 in your browser to view the example.