Drop-in template tags for threaded comments, real-time live chat, and comment counts. Secure SSO signed from your Django auth users, full REST access through the Python SDK, and zero frontend build steps.
FastComments brings a full suite of features to your Django application.
Choose the authentication mode that fits your application's needs.
Server-side HMAC-SHA256 token signing from your Django auth user for maximum security.
Client-side SSO for quick setup without server signing.
Let users create their own FastComments accounts independently.
Three steps to live comments in your Django app.
Install the package from GitHub with pip. Add the api extra when you want server-side REST access.
$pip install "git+https://github.com/fastcomments/fastcomments-django.git@v0.1.0"
Add "fastcomments_django" to INSTALLED_APPS, then set the FASTCOMMENTS dict with your TENANT_ID and API_KEY.
INSTALLED_APPS = [
# ...
"fastcomments_django",
]
FASTCOMMENTS = {
"TENANT_ID": "your-tenant-id",
"API_KEY": "your-api-key",
}
Load the tag library in any template, then drop in the comments widget wherever you want the thread.
{% load fastcomments %}
{% fastcomments url_id=post.slug %}
We've compiled answers to some of the most common questions to help you get started.
Is there a free trial?
Yes. FastComments offers a 30-day free trial with full access to all features, including SSO, live chat, and the rich text editor. No credit card required to start.
How does SSO work with Django auth?
When Secure SSO is enabled, the package reads the authenticated user from the request and signs an HMAC-SHA256 token on the server. This creates or updates the user's FastComments account with their name, email, and avatar, so users are signed in without extra registration. Map fields with USER_MAP, a to_fastcomments_user_data() method on your user model, or a global USER_MAPPER. Choose the SSO id deliberately: it is the permanent handle for a user's comment history, so map it to a stable, opaque value like a UUID rather than a sequential primary key.
Which Django and Python versions are supported?
The FastComments Django package supports Django 4.2, 5.0, 5.1, and 5.2, and requires Python 3.10 or higher. It installs as a standard Django app with a single entry in INSTALLED_APPS.
Is FastComments GDPR compliant?
Yes. FastComments is fully GDPR compliant with an optional EU-based CDN that keeps all data within Europe. Set REGION to "eu" in the FASTCOMMENTS settings and the package routes widgets and API calls to the EU region. We support data export requests, right-to-deletion, and provide a Data Processing Agreement (DPA) on request.
Can I customize the widget markup?
Yes. Override the fastcomments/widget.html template by placing your own copy earlier on the template search path. Every tag also accepts standard FastComments configuration options as keyword arguments, giving you full control over appearance and behavior without editing the package.
Can I access the FastComments API from Django?
Yes. Install the api extra and the package exposes the FastComments Python SDK: admin() for authenticated calls, public_api() for public calls, and get_manager() for signing SSO tokens. Use them to create, update, or delete comments, manage users, fetch analytics, and more from your views or background jobs.
Install the package, load the tag library, drop in a template tag, and go live in minutes.