一个用于夹层cms的rest web api,带有cartridge电子商务扩展
mezzanine-cartridge-api的Python项目详细描述
夹层API
带有Cartridge电子商务扩展名的Mezzanine content management system的rest web api。
哦,即使你只是在运行一个博客或任何其他没有墨盒包的夹层网站,这也会起作用。
功能
用于夹层对象(包括站点、用户、组、页面、博客文章和设置)和盒式对象(包括产品、类别、购物车和订单)的Web API方法。
Swagger-UI作为开发工具和文档。
配置了API key authentication/authorisation,但也可以配置为使用基于密码和/或授权代码OAuth2身份验证/授权。
附加功能:
- 用户创建并激活包括密码散列和发送验证电子邮件的方法
- 包括密码散列的用户更新和部分更新方法
- 检查用户密码和用户令牌的方法
- 密码重置方法,包括发送验证电子邮件
- 电子商务定制的方法:处理账单/发货、税务、付款和下单,以执行在夹层现场安装中完成的任何定制工作。
屏幕截图
API文档
API键
安装
安装Python
新安装
安装夹层和墨盒:
pip install mezzanine pip install cartridge
使用cartridge创建一个新的夹层项目,并通过运行:
mezzanine-project -a cartridge [project-name]cd[project_name] python manage.py createdb --noinput --nodata
在创建数据库之前,可能需要在项目的settings.py文件中设置允许的主机、数据库和购物货币语言环境。
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'db.dev',
}
}
SHOP_CURRENCY_LOCALE = 'en_GB.UTF-8'
启动pythonvirtual environment,安装需求并运行开发服务器:
virtualenv env
source env/bin/activate
pip install -r requirements.txt
python manage.py runserver
然后参见添加到现有安装的以下部分。
添加到现有的安装安装夹层和墨盒后,将包添加到项目的requirements.txt文件中:
mezzanine-cartridge-api
将以下内容添加到项目settings.py文件中已安装的应用程序和中间件:
INSTALLED_APPS = (
...
'corsheaders',
'rest_framework',
'rest_framework_api_key',
'drf_yasg',
'mezzanine_cartridge_api',
...
)
# Use `MIDDLEWARE_CLASSES` prior to Django 1.10
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
对于OAuth2身份验证/授权,还可以将以下内容添加到项目settings.py文件中已安装的应用中:
INSTALLED_APPS = (
...
'oauth2_provider',
'rest_framework.authtoken',
...
)
将以下内容添加到项目的url.py文件中:
urlpatterns = [
...
url(r'^api/', include('mezzanine_cartridge_api.urls')),
...
]
启动python虚拟环境,安装需求并运行开发服务器:
virtualenv env
source env/bin/activate
pip install -r requirements.txt
python manage.py runserver
配置
以下配置设置可用:
cors_origin_allow_all
以及其他django-cors-middleware设置。
rest_框架
请参阅Django REST framework settings。
招摇设置
招摇过市方案https
true或false:默认为false。如果您的api可通过https访问,则为true。
客户端库
注释
如果您正在使用附带的swagger ui测试您的api并收到消息“csrf failed:csrf token missing or incorrect”(csrf失败:csrf令牌丢失或不正确),请确保从夹层站点注销。
如果使用附带的swagger ui测试api并收到消息“typeerror:failed to fetch”,并且正在运行安全站点(通过https),请确保从shemes下拉列表中选择https方案。此下拉列表将继续在swagger ui中还原为http,因此在进行api调用更改和/或选择api方法之后,可能需要再次选择它。