django-helpapp
Drop-in in-app help center for Django projects, designed for Any Project.
- Django MVT — plain server-rendered views/templates, no required build step.
- Tailwind CSS — Use the Play CDN to try Tailwind right in the browser without any build step.
- Vanilla JS — a single dependency-free
helpapp.js. Works with or without a JS framework in your project. - Embeddable anywhere — a floating help widget, inline contextual hints, and a full standalone help portal.
Install
pip install django-helpapp
# settings.py
INSTALLED_APPS = [
...,
"froala_editor",
"helpapp",
]
HELPAPP_SETTINGS = {
"BRAND_NAME": "Brand Name (Help Center)",
"PRIMARY_COLOR": "#1c088b",
}
# urls.py
from django.urls import include, path
urlpatterns = [
...,
path("froala_editor/", include('froala_editor.urls')),
path("help/", include("helpapp.urls")),
]
python manage.py migrate
python manage.py seed_helpapp_demo # optional: loads sample content
Add the floating widget to every page
<!-- base.html -->
{% load helpapp_tags %}
...
{% helpapp_announcements %}
{% helpapp_widget %}
</body>
</html>
Use the Play CDN to try Tailwind right in the browser without any build step
<!-- base.html -->
{% load helpapp_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}Your Django Project{% endblock %}</title>
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
</head>
<body>
...
{% helpapp_announcements %}
{% helpapp_widget %}
</body>
</html>
Content authoring
Articles are authored in Django admin (HelpArticle), written in Markdown, organized into HelpCategory, tagged with HelpTag, and can be restricted by role (all, user, admin, staff). Visibility is enforced by helpapp.permissions.can_view_article, which you can override entirely via PERMISSION_CALLBACK.
Building a custom frontend (API-only mode)
If you don't want the bundled templates, use the JSON endpoints directly:
GET /help/api/search/?q=...GET /help/api/articles/<slug>/GET /help/api/hints/<key>/
Overriding templates
Any template can be overridden by creating a matching path in your project's own templates/helpapp/ directory (standard Django template-loading precedence), e.g. templates/helpapp/widget.html.
Compatibility
Django 5.0 LTS, 5.x ,6.x; Python 3.10+. SQLite, PostgreSQL, MySQL.
django-helpapp
Metadata
Release files for django-helpapp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_helpapp-0.1.0.tar.gz | 37.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_helpapp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 86.1 kB
Release files / django_helpapp-0.1.0.tar.gz
| Download URL | django_helpapp-0.1.0.tar.gz |
|---|---|
| Size | 37.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
701b8dd746ff240f608846629cb68fc18d26c7ebb13e6ff27ed60ea83a62868e
|
|
BLAKE2b-256 checksum How to use checksums |
604a44f89ce76d7fe03733e7cab8bfca016777231434b13e03b7f4c24c2cef1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / django_helpapp-0.1.0-py3-none-any.whl
| Download URL | django_helpapp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 49.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
030eb629f67088470a01184275fc3006e796b2a42e0d6cfc3c4d2d4bfff206f0
|
|
BLAKE2b-256 checksum How to use checksums |
9ca8c67eddb1978bb0e64819fb9545bbdfe5f9197755e3c89d41a4dd58f49397
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|