django-letsencrypt will allow you to add, remove, and update any
ACME challenge objects you may
need through your Django admin interface. Simply add the ACME challenge
and response for your app to serve up the necessary information for
Let's Encrypt validation.
This project strives to make installation, configuration, and usage a snap! From high levels of code coverage, multiple compatible python versions, multiple versions of Django supported, even multiple databases too!
And of course all wrapped up and published to PyPI for standard installation!
django-letsencrypt is tested across a number of configurations, here's what's
supported so far:
- Python Versions Supported:
3.14(with Django6.0,5.2)3.13(with Django6.0,5.2)3.12(with Django6.0,5.2,4.2)3.11(with Django5.2,4.2)3.10(with Django5.2,4.2)
- Django Versions Supported:
6.0minimum version6.0.15.2 LTSminimum version5.2.104.2 LTSminimum version4.2.27
- Databases Supported:
mysqlpostgressqlite
-
pip install django-letsencrypt -
Add
letsencryptto yourINSTALLED_APPS
INSTALLED_APPS = [
... ,
'letsencrypt',
... ,
]- Include the
letsencryptin your project'surls.py, or where applicable (usually your rooturls.py).
re_path(r'^\.well-known/', include('letsencrypt.urls'))-
Run
manage.py migrateto create the required table for theletsencryptmodel -
Create your
ACME Challengeobjects in your Django admin interface -
Test your
ACME Challengeobjects and their responses by visiting them:
{Django Site}/.well-known/acme-challenge/challenge_text
- Enjoy your easy to manage
ACME Challengesinside your Django project!
If you would like a demo of how to use this application simply clone this project's
git repository from GitHub,
take a moment to read the README.md file within the
example_project
directory, and follow the directions. That will spin up a small sample django
application already configured for you to try out.
- Make sure you have installed uv in your environment.
- Clone the repo to your development machine.
- Configure your
githooks withgit config core.hooksPath .githooksfor the project. - Run
uv syncto create the virtual environment and install required dependencies. - Run
make testfor a singular test run. - Run
make run-toxto run the entiretoxsuite.