django-url-checks

Django checks to ensure valid URL Configurations


Keywords
django, check, url, uri, slash, django-check
License
BSD-2-Clause
Install
pip install django-url-checks==0.2.0

Documentation

PyPI Version Python Versions Django Versions Build Status codecov BCH compliance

Read Me

Use Django's System Check Framework to ensure your URL Configuration works correctly.

Table of Contents

Project Purpose

This package checks your Django project's URL Configuration for a few things.

  • Do the paths or regular expressions in your URL configuration tree end with slashes (or, for regular expressions, /$)
  • Is the URL configuration tree comprised of only URLPattern and URLResolver instances (path() and include())?
  • Is ROOT_URLCONF defined in settings, and does it point to a valid Python module with urlpatterns defined?

🔝 Up to Table of Contents

Project Rationale

I constantly forget to add a slash to the end of my URI paths. This leads to strange behavior, and can be tricky to catch even with proper testing.

What's more, the errors raised when something is amiss with the URL configuration can be tricky to debug and understand.

As such, this package aim to try and make developers lives easier by providing targeted checks of the URL configuration tree. This is meant to be used as part of a "belt-and-braces" approach, and is not a substitution for tests!

I am open to suggestions on improving the checks. Please open an issue to do so.

🔝 Up to Table of Contents

Installation and Usage

  1. Add "url_checks.apps.UrlChecksConfig", as an item in your Django project's INSTALLED_APPS setting
  2. In the terminal (in your Django projects code-root directory), run Django's check framework with $ python manage.py check
  3. Read the output in your terminal and track those bugs down!

🎉

🔝 Up to Table of Contents

Contributing

For ideas, bugs, feature-requests, and all the rest, please open an issue on Github.

🔝 Up to Table of Contents