Django and Oscar

Django and Django-Oscar Information Sources

Published 2021-03-27.
Time to read: 3 minutes.

This page is part of the django collection.

This is a list of general information sources and projects for Django and django-oscar that interest me, including supporting projects. I discuss unit testing information sources here.

Code

Online

Tutorials

Standards

PIP Modules

This is a listing of the PIP modules that I am interested in. Many of the django-oscar modules are shown on the Django-oscar GitHub page, but these links are to the PyPi pages, not directly to the GitHub projects.

  • Better-exceptions, pretty and useful exceptions in Python. Here is sample output; notice the value and type of variables is shown (yay!)
    Shell
    (aw) $ bin/run
    Traceback (most recent call last):
      File "/var/work/django/oscar/lib/python3.8/site-packages/django/apps/config.py", line 156, in create
        app_module = import_module(app_name)
                     │             └ 'aw_order'
                     └ <function import_module at 0x7f858f387550>
      File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
               │                      │    │        │        └ 0
               │                      │    │        └ None
               │                      │    └ 0
               │                      └ 'aw_order'
               └ <module 'importlib._bootstrap' (frozen)>
      File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
      File "<frozen importlib._bootstrap>", line 991, in _find_and_load
      File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
    ModuleNotFoundError: No module named 'aw_order'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "./manage.py", line 22, in <module>
        main()
        └ <function main at 0x7f858f488430>
      File "./manage.py", line 18, in main
        execute_from_command_line(sys.argv)
        │                         └ <module 'sys' (built-in)>
        └ <function execute_from_command_line at 0x7f858e999820>
      File "/var/work/django/oscar/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
        utility.execute()
        └ <django.core.management.ManagementUtility object at 0x7f858f1ac8e0>
      File "/var/work/django/oscar/lib/python3.8/site-packages/django/core/management/__init__.py", line 377, in execute
        django.setup()
        └ <module 'django' from '/var/work/django/oscar/lib/python3.8/site-packages/django/__init__.py'>
      File "/var/work/django/oscar/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
        apps.populate(settings.INSTALLED_APPS)
        │             └ <LazySettings "main.settings.dev">
        └ <django.apps.registry.Apps object at 0x7f858f0f6520>
      File "/var/work/django/oscar/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
        app_config = AppConfig.create(entry)
                     │                └ 'order.apps.OrderConfig'
                     └ <class 'django.apps.config.AppConfig'>
      File "/var/work/django/oscar/lib/python3.8/site-packages/django/apps/config.py", line 158, in create
        raise ImproperlyConfigured(
    django.core.exceptions.ImproperlyConfigured: Cannot import 'aw_order'. Check that 'order.apps.OrderConfig.name' is correct. 
  • Cookiecutter-django, a popular git project for learning and working with Django, and a companion book called Two Scoops of Django.
  • Django-allauth, an integrated set of Django applications addressing authentication, registration, account management and 3rd-party social account authentication.
  • Django-cacheback, smart caching with asynchronous refresh for Django.
  • Django-grappelli, a jazzy skin for the Django admin interface. While it installed easily, it is decidedly not jazzy.
  • Django-invitations, a generic invitations solution with adaptable backend and support for django-allauth. All emails and messages are customisable.
  • Django-oscar-accounts, managed double-entry accounts for Django. Can also be used without Oscar.
  • Django-oscar-api, a RESTful API for django-oscar.
  • Django-oscar-bluelight, enhancements and improvements to django-oscar offers and vouchers features.
  • Django-oscar-promotions, an app for dashboard-editable promotional content in django-oscar. GitHub project (PyPi link is broken.) This project was formerly part of the django-oscar core, but was been separated into a standalone app.
  • Django-oscar-stores provides physical store support. Features include a store locator page using Google Maps, store detail pages including opening hours, store grups and a dashboard for messaging stores.
  • Django-oscar-invoices. Very little documentation. PR for Django 4.x not accepted after 6 weeks.
  • Django-pipeline, an asset packaging library for Django.
  • Django-simple-menu, code-based menus for Django applications.
  • Django-summernote integrates the Summernote WYSIWYG HTML editor with Django.
  • Django-tinymce, v5.6 of this WYSIWYG HTML editor is bundled with django-oscar 3.0.
  • Django-waffle, a feature flipper for Django.
  • Pigar, generate requirements for a Python project. I had a problem when attempting to use pigar on a Django project.
  • Pip-tools, command-line tools to keep pip packages fresh, even when they are pinned.
  • Python-twitter, a Python wrapper around the Twitter API.

Payment Gateways

Django Apps

Django-Oscar Apps

  • Django-oscar-paypal, PayPal integration for django-oscar. Can also be used without django-oscar.
  • Celery, a task queue with focus on real-time processing, while also supporting task scheduling. Celery is not specific to Django.
  • Dependabot, maintain a git repository’s dependencies automatically.

Books and Videos

* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.