Published 2021-03-27. Last modified 2021-03-24.
Time to read: about 3 minutes.
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.
Django-oscarsource code from Sphinx, and GitHub project.
- Django source code from Sphinx, and GitHub project.
- Django Getting Started Tutorial
- MDN Django Web Framework (Python) Tutorial
- Real Python Django Tutorials
- TutorialsPoint Learn Django Tutorials
- Full Stack Python learning resources
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!)
(oscar) $ 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-bluelight, enhancements and improvements to
django-oscaroffers 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-oscarcore, but was been separated into a standalone app.
Django-oscar-storesprovides 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-summernoteintegrates the Summernote WYSIWYG HTML editor with Django.
Django-tinymce, v5.6 of this WYSIWYG HTML editor is bundled with
Django-waffle, a feature flipper for Django.
Pigar, generate requirements for a Python project. I had a problem when attempting to use
pigaron 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.
Django-helcimsupport for Django, includes an optional module to connect with Django Oscar. GitHub project.
Django-paypal, Django support for PayPal Payments Standard and Payments Pro.
Django-oscar-paypal, PayPal integration for
django-oscar. Can also be used without
- 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
- Django and
- The Django Book for Django v3.0.6 and Python 3.8.3. The book is well-written. Some chapters are available for free.
A very old version is available completely for free online at
django-book.readthedocs.ioI found the sections entitled Templates and Advanced Templates helpful. All of the installation and getting started pages of the online version are hopelessly out of date, however. The sections on paths and routing requests is also badly out of date and not worth the time to read.