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 configured, but can also be configured to work with Password-based and/or Authorisation code OAuth2 authentication/authorisation.
Screenshots
Installation
New 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, DATABASES and SHOP_CURRENCY_LOCALE in your project's settings.py file before creating the database.
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'db.dev',
}
}
SHOP_CURRENCY_LOCALE = 'af_ZA'
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
Adding to an existing installation
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 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',
...
]
Add the following to your project's urls.py file:
urlpatterns = [
...
url(r'^api/', include('mezzanine_cartridge_api.urls')),
...
]
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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1da9eac5a583407fb3979a28686b0ea2cb62c998ba9e6c1002a2a51ad55e969 |
|
MD5 | 72f3b2e7bec22001b206cf1e9673a335 |
|
BLAKE2b-256 | 4a17a763f86dde5e3c1dc0c5fe971f2379132b186d1b713000fcf81e41bf9a61 |
Hashes for mezzanine_cartridge_api-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f492b27b47d7cf4a9f0e3e93112429f54b2a01c86b0f17af28885318db5b64e |
|
MD5 | e887514ae320e44aee33ab70b42b686d |
|
BLAKE2b-256 | b1b10d99cdd7728822c9a031795acdaece2121c2785851606b2cb54734e18ac9 |