一个用于夹层cms的rest web api,带有cartridge电子商务扩展

mezzanine-cartridge-api的Python项目详细描述


夹层API

PyPITravis CILicenseCodecov

带有Cartridge电子商务扩展名的Mezzanine content management system的rest web api。

哦,即使你只是在运行一个博客或任何其他没有墨盒包的夹层网站,这也会起作用。

Buy Me A Coffee

功能

用于夹层对象(包括站点、用户、组、页面、博客文章和设置)和盒式对象(包括产品、类别、购物车和订单)的Web API方法。

Swagger-UI作为开发工具和文档。

配置了API key authentication/authorisation,但也可以配置为使用基于密码和/或授权代码OAuth2身份验证/授权。

附加功能:

  • 用户创建并激活包括密码散列和发送验证电子邮件的方法
  • 包括密码散列的用户更新和部分更新方法
  • 检查用户密码和用户令牌的方法
  • 密码重置方法,包括发送验证电子邮件
  • 电子商务定制的方法:处理账单/发货、税务、付款和下单,以执行在夹层现场安装中完成的任何定制工作。

屏幕截图

API文档

API docs

API键

API keys

安装

安装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

招摇设置

请参阅drf-yasg Swagger settings

招摇过市方案https

true或false:默认为false。如果您的api可通过https访问,则为true。

客户端库

Dart

注释

如果您正在使用附带的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方法之后,可能需要再次选择它。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?