Running Django Management Commands Periodically in Docker

This past week I updated my Agility Course Master API to Django version 4.1.4 and Python version 3.11. I noticed that I hadn't run some of the database cleanup management commands (i.e. clearsessions ) that I should have been running periodically. So I started investigating how to …

Django Shrink The Web django-stw 1.0 Released

It has been several years since I've worked on my Django driven website that uses Shrink The Web (STW) screen shots. During that time STW has simplified their feature set and their API.

As I upgraded my site (Googility.com) I took some time to modernize the django-stw template tag …

NGINX, HTTPS, Let's Encrypt, and Django

My agilitycourses.com website is served by nginx proxying to gunicorn running my Django application. I'll be adding user accounts soon so I wanted to convert the site to be more secure by using HTTPS encryption. Also Google has announced it will likely prefer sites using HTTPS.

The site is …

Django Migrating Models from an Abstract Base Class to a Concrete Base Class

On my agilitycourses.com I had been modeling three types of dog agility courses using an abstract base class Course with three child classes: Box, StarBox, and DoubleBox. This created three tables in the database prepended with the Django application name box: box_box, box_starbox, and box_doublebox. I needed to add …

Django REST Registration with django-rest-auth and django-allauth

I'm creating a mobile app for my agilitycourses website and I'm using django-rest-framework to provide a REST API for use by the client application. In order to provide authentication and registration I'm using django-allauth. Lastly I use django-rest-auth to provide REST resources for authentication and registration.

I implemented and tested …

Integrated Coverage Analysis with Coveralls

When I converted django-periodicals to use cookiecutter-djangopackage I was running coverage.py in my Travis-CI .travis.yml to report the coverage results to the command line log. The coverage results were interesting but didn't really alter my development practice much.

Over the years I've had differing options about coverage testing …

cookiecutter-djangopackage - Do the Right Thing

In preparation for upgrading and enhancing Googility.com I've started breaking out reusable applications, upgrading them, and open sourcing the code on GitHub. I wanted to follow development best practices and create high quality applications including these features:

  • A full set of tests.
  • Near 100% code coverage.
  • Continuous Integration running …

Django Shrink The Web django-stw 0.2.0 Released

Shrink The Web has announced a new API for free users using their new preview verification feature. This change required changes to my django-stw package.

The changes (lifted from the CHANGELOG.txt):

Changes to the shrinkthewebimage template tag:

  • The shrinkthewebimage template tag is NOT backward compatible with version 0.0 …

Obtain Short URLs and QR-Codes for Django Apps

Lately I've been interested in improving the interaction of my agilitycourses website for mobile users. One such improvement is to add QR Codes (aka 2D barcodes) representing the page URLs to the printed representations of pages served as PDFs.

I found that developers have reverse engineered the "api" of the …

Mobile Web Site Redirects in Django

For the mobile version of agilitycourses.com I wanted to follow the approach Google appears to be using on some of its sites:

  • If the user views agilitycourses.com from a desktop browser they should see the standard/desktop version of the site.
  • If the user views agilitycourses.com from …