Django
TrustCaptcha – Bot-Schutz

Django CAPTCHA-Integration

Binden Sie TrustCaptcha mit wenigen Zeilen Python in eine Django-View ein. Stoppen Sie botgetriebenen Spam in Logins, Registrierungen und Kontaktformularen – ohne CSRF-Schutz oder Ihre forms.Form-Klassen zu brechen. EU-gehostet, DSGVO-konform und ohne Bilderrätsel.

Schnellstart

So funktioniert die Integration

1. CAPTCHA erstellen

Erstellen Sie ein Benutzerkonto oder melden Sie sich mit einem bestehenden Konto an. Anschließend erstellen Sie ein neues CAPTCHA oder wählen Sie ein bereits vorhandenes aus. Wenn Sie sich nicht sicher sind, ob TrustCaptcha das Richtige für Sie ist, können Sie unseren CAPTCHA-Service 14 Tage lang kostenlos und ohne Risiko testen.

Auf der CAPTCHA-Übersichtsseite finden Sie alle wichtigen Informationen wie den site-key und den license-key, und Sie können dort auch Ihren API-Key erstellen. Ermöglichen Sie Ihren Websites den Zugriff auf Ihr CAPTCHA, indem Sie diese einfach zur Liste der autorisierten Domains in den CAPTCHA-Sicherheitsregeln hinzufügen.

Start des Formulars zur Erstellung eines CAPTCHA.
CAPTCHA-Sicherheitsregeln eines Demo-CAPTCHAs.

2. CAPTCHA-Widget in Ihr Django-Template einbauen

Binden Sie das TrustCaptcha-Widget in das Django-Template ein, das Ihr Formular rendert. Das Widget läuft im Hintergrund und fügt beim Absenden ein verstecktes Feld tc-verification-token hinzu, das auf request.POST ankommt wie jeder andere Input.

templates/contact.html
HTML
<script type="module" src="https://cdn.trustcomponent.com/trustcaptcha/3.0.x/trustcaptcha.esm.min.js"></script>

<form method="post" action="{% url 'contact_submit' %}">
    {% csrf_token %}
    <input type="email" name="email" required>
    <trustcaptcha-component sitekey="<your_site_key>"></trustcaptcha-component>
    <button type="submit">Send</button>
</form>

Das CAPTCHA-Widget wird anschließend in Ihrem Formular angezeigt:

CAPTCHA abgeschlossen

Detaillierte Informationen zur CAPTCHA-Widget-Integration?
Für die vollständige Widget-Referenz – inklusive Themes, Sprachen, Custom Design und mehr – lesen Sie bitte unsere Dokumentation.

Dokumentation lesen

3. Token in Ihrer Django-View validieren

Holen Sie in Ihrer Django-View den Verifikationstoken aus request.POST, rufen Sie das Ergebnis über unsere Python-Library ab und entscheiden Sie, ob die Anfrage akzeptiert werden soll.

Installieren Sie zunächst unsere TrustCaptcha-Python-Library:

Install
bash
pip install "trustcaptcha>=3.0.0,<4.0.0"

Validieren Sie dann den Token in Ihrer Django-View und reagieren Sie auf das Ergebnis:

contact/views.py
Python
from django.shortcuts import redirect, render
from django.views.decorators.http import require_POST
from trustcaptcha.trust_captcha import TrustCaptcha

@require_POST
def submit(request):
    token = request.POST.get("tc-verification-token", "")

    try:
        trust_captcha = TrustCaptcha("<your_api_key>")
        result = trust_captcha.get_verification_result(token)
    except Exception:
        return render(request, "contact.html", {"error": "CAPTCHA verification failed."})

    if not result.verification_passed or result.score > 0.5:
        return render(request, "contact.html", {"error": "CAPTCHA verification failed."})

    # CAPTCHA bestanden — Anfrage verarbeiten
    return redirect("contact_success")

Detaillierte Informationen zur Django-CAPTCHA-Integration?
Für die vollständige Schritt-für-Schritt-Anleitung – inklusive einer Django-Form-Integration mit Verifizierung in clean_*() – lesen Sie bitte unsere Dokumentation.

Dokumentation lesen

Anderes Backend-Framework statt Django?
Wenn Sie ein anderes Framework nutzen, wählen Sie hier das passende Rezept aus. Ist Ihr Framework nicht aufgeführt, können Ihre Softwareentwickler die Verifizierung selbst integrieren – mithilfe unserer Dokumentation – oder unser Support-Team nach einer vorgefertigten Integration fragen.

Actix Web
ASP.NET Core
Axum
Django
Echo
Express
FastAPI
Fastify
Fiber
Flask
Gin
Hapi
Laravel
Micronaut
NestJS
Next.js
Quarkus
Ruby on Rails
Sinatra
Spring Boot
Symfony

4. Glückwunsch 🎉

Sie sind jetzt durch TrustCaptcha geschützt – Glückwunsch!

CAPTCHA abgeschlossen

FAQs

Wo in einer Django-App läuft die CAPTCHA-Verifizierung?
In der View, die das Formular-Submit verarbeitet – bevor Sie das Modell speichern oder die E-Mail versenden. Der CAPTCHA-Token kommt als regulärer Form-Parameter auf request.POST an (Standardname: "tc-verification-token").
Ersetzt TrustCaptcha den CSRF-Schutz von Django?
Nein. CSRF und TrustCaptcha sind unabhängige Schichten – beide sollten aktiviert bleiben. Behalten Sie {% csrf_token %} im Template und die CSRF-Middleware in den Settings; TrustCaptcha bestätigt nur, dass ein Mensch das Formular ausgefüllt hat.
Kann ich das CAPTCHA in eine Django Form (forms.Form / ModelForm) integrieren?
Ja. Fügen Sie ein verstecktes CharField für den Token hinzu (z.B. tc_verification_token) und legen Sie den Verifizierungs-Aufruf in eine clean_tc_verification_token-Methode. Validierungsfehler tauchen dann am gebundenen Form auf wie jeder andere Field-Error.
Warum hat das Form-Feld einen Unterstrich (tc_verification_token), während das Widget einen Bindestrich postet (tc-verification-token)?
Python-Identifier dürfen keinen Bindestrich enthalten, daher heißt das Form-Feld tc_verification_token. Der einfachste Fix ist, am Widget token-field-name="tc_verification_token" zu setzen, damit das Wire-Format zum Form-Feld passt.
Funktioniert TrustCaptcha in async Django Views?
Ja. Das Python-SDK ist blockierend, daher kapseln Sie den Aufruf in einer async-View mit sync_to_async: result = await sync_to_async(trust_captcha.get_verification_result)(token). Der Event-Loop bleibt während der Verifizierung reaktionsfähig.
Wo bewahre ich den CAPTCHA-API-Key in einem Django-Projekt auf?
In einer Umgebungsvariable (z.B. TRUSTCAPTCHA_API_KEY), in settings.py exponiert als settings.TRUSTCAPTCHA_API_KEY. Lesen Sie ihn in Ihrer View oder Form aus den Settings, hardcoden Sie ihn nie.
Leads verlieren wegen CAPTCHAs?

TrustCaptcha blockiert Spam und Bots – nicht Ihre Kunden. Keine Rätsel, DSGVO-konform, in der EU gehostet.

CAPTCHA-Start
CAPTCHA abgeschlossen
Rätsel-freie UX
Läuft im Hintergrund, während Besucher tippen – so schließen mehr Personen Ihre Formulare ab und weniger brechen ab.
DSGVO-ready
EU-gehostet und privacy-first: keine Cookies, verschlüsselte Übertragung, automatische Bereinigung – inklusive sofort nutzbarer rechtlicher Ressourcen.
Mehrstufige Sicherheit
Adaptive Schutzmechanismen plus intelligentes Risiko-Scoring stoppen Missbrauch frühzeitig – selbst bei plötzlichen Angriffsspitzen.
Volle Kontrolle
Stellen Sie die Sensitivität ein, definieren Sie Allow-/Block-Listen und nutzen Sie Geoblocking – Sie entscheiden, wie streng die Verifizierung sein soll.

Schützen Sie Ihre Django-Anwendung mit TrustCaptcha – in nur wenigen Schritten!

  • EU-hosted & DSGVO-ready
  • Keine Rätsel
  • 14 Tage kostenlos testen