Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

drf-shop-api

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

drf-shop-api

Standalone shop app, that you can add to your project

  • 0.0.3
  • PyPI
  • Socket score

Maintainers
1

Features

Features:

  • Products
    • products (multiple images + main image, title, description, etc.)
    • products categories (parent/child categories)
    • product dynamic stats
    • product comments
    • search for products/categories
    • filter for products in the category
  • Customers
    • wish lists
    • cart
    • compare lists
    • bonuses wallet
    • customer support request
  • Settings
    • taxes
    • currencies
  • Orders
    • orders
    • order reports (view and generation of pdf)
    • shipping
    • statuses of order / payment / shipment

Installation

  • Install library
pip install drf-shop-api
  • Add to installed apps

    
    INSTALLED_APPS = [
      ...
      'drf_shop_api'
    ]
    
  • Add api path to you root urls.py

   urlpatterns = [
    ...
    path("shop/", include("drf_shop_api.urls")),
]
  • Use create_shop_profile decorator on create_user method of your UserManager
from django.contrib.auth.base_user import BaseUserManager

from drf_shop_api.decorators import create_shop_profile


class UserManager(BaseUserManager):
    @create_shop_profile
    def create_user(self, email, password=None):
        if not email:
            raise ValueError("Enter the email")
        user = self.model(email=self.normalize_email(email))
        user.set_password(password)
        user.save(using=self._db)
        return user
  • Setup AUTH_USER_MODEL in settings.py

  • Run python manage.py makemigrations and python manage.py migrate (Due to optional Payment model from root project)

  • Optional settings:

    • DRF_SHOP_PAGE_SIZE on will be default 10
    • DRF_SHOP_PAYMENT_MODEL = "projects.payments.models.Payment"
    • DRF_SHOP_PAYMENT_STATUS_CHOICES = "project.payments.choices.PaymentStatus"
    • DRF_SHOP_BONUS_RATE = percentage value for each order that will go to bonus wallet

Dependencies

django
drf
drf-yasg 1.21.5
rest_framework_simplejwt
mixer
django-filter

TODO

  • Add DB indexes
  • Task for currency rate update
  • Review permissions

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc