Socket
Socket
Sign inDemoInstall

drf-shop-api

Package Overview
Dependencies
5
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    drf-shop-api

Standalone shop app, that you can add to your project


Maintainers
1

Readme

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc