A REST Web API for Mezzanine CMS with the Cartridge e-commerce extension
Project description
Mezzanine API
A REST Web API for the Mezzanine content management system with the Cartridge e-commerce extension.
Features
Web API endpoints for all Mezzanine objects, including sites, users, groups, pages, blog posts and settings, and Cartridge objects, including products, categories and orders.
Swagger-UI as development tool and documentation.
Comes with API key authentication/authorisation as standard, but can be configured to work with Password-based and/or Authorisation code OAuth2 authentication/authorisation.
Screenshots
Installation
Install Python
Install Mezzanine and Cartridge:
pip3 install mezzanine
pip3 install cartridge
Create a new Mezzanine project with Cartridge, and set up a clean development database by running:
mezzanine-project -a cartridge [project-name]
cd [project_name]
python3 manage.py createdb --noinput --nodata
You may need to set ALLOWED_HOSTS and SHOP_CURRENCY_LOCALE in your project's settings.py file before creating the database.
Start a Python virtual environment, install the requirements and run the development server:
virtualenv env
source env/bin/activate
pip3 install -r requirements.txt
python3 manage.py runserver
With Mezzanine and Cartridge installed, add the package to your project's requirements.txt file:
mezzanine-cartridge-api==1.0.0
Add the following to your installed apps and middleware in your project's settings.py file:
INSTALLED_APPS = (
...
'oauth2_provider',
'corsheaders',
'rest_framework',
'rest_framework_api_key',
'rest_framework.authtoken',
'rest_framework_swagger',
'mezzanine_cartridge_api',
...
)
# Use `MIDDLEWARE_CLASSES` prior to Django 1.10
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
Start the Python virtual environment, install the requirements and run the development server:
virtualenv env
source env/bin/activate
pip3 install -r requirements.txt
python3 manage.py runserver
Configuration
The following configuration settings are available:
CORS_ORIGIN_ALLOW_ALL
And other django-cors-middleware settings
REST_FRAMEWORK
See the Django REST framework settings
SWAGGER_SETTINGS
See the Django REST Swagger settings
SWAGGER_SCHEME_HTTPS
True or False, e.g. True for when your production API is available over HTTPS
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mezzanine_cartridge_api-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83e80eb41a63785d5bb5f1c12f93c4832f47781bbfabade05aaa6c55a243f83c |
|
MD5 | 03243790f62546f71a81954b8a8a4c70 |
|
BLAKE2b-256 | 2b780b3251c4b94d213a772ab8681db7b3e33758174dc98a374546ffa3fc450e |
Hashes for mezzanine_cartridge_api-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c2620792ba68593e78db0e2289eaedc1d4548a2fb57125e556e7f2ade689015 |
|
MD5 | 38511f8f3edd7a3f1dd2433b586f3545 |
|
BLAKE2b-256 | 6e3f4b85e547bfe4e0daef710c3fdee0d83681290212119fa2a18bfa3d02164d |