Guides

How to add a feedback widget to a Django app

Where the Bopmigo line goes in a Django app (your base template, for example templates/base.html), with code you can copy, and how to test it locally.

Short answer: paste your Bopmigo line into the base template your pages extend, just before </body>. Deploy.

A changelog page with the Bopmigo Feedback window open
Requests arrive with the page they were sent from.
A resolved report in the Bopmigo inbox with its summary
Every report starts with what happened and what they expected.

Add it to Django

  1. 1

    Create your Bopmigo project

    Sign up at bopmigo.com, choose Website, and add your Django address. Copy your line from Install snippet:

    HTML
    <script src="https://bopmigo.com/widget.js"
      data-project="YOUR-PROJECT-ID" defer></script>
  2. 2

    Open it

    Open the base template your pages extend.

  3. 3

    Add your line

    Add the line before </body>.

    HTML
    {# templates/base.html #}
    <body>
      {% block content %}{% endblock %}
      <script src="https://bopmigo.com/widget.js"
        data-project="YOUR-PROJECT-ID" defer></script>
    </body>
  4. 4

    Go live

    Deploy.

  5. 5

    Send yourself a test

    Open the live page, choose Feedback and send a short report. It arrives in your Bopmigo inbox (and by email, if you turned that on). Reply, then open Feedback again to see your answer.

Django tips

  • The Django admin uses its own templates, so the button won’t appear there unless you add it.
  • If you use django-csp, allow https://bopmigo.com for scripts.
  • Add your local address (http://127.0.0.1:8000) to the project to test with runserver.

Single-page apps and client-side routing

Load the script once in the root layout, not per page. Bopmigo notes the page people are on when they report, including after client-side navigation, so there’s nothing to re-run on route changes.

Testing locally

Add your local address (for example http://localhost:3000) to the project in Bopmigo, alongside your production address. Reports are only accepted from addresses you list.

What Django users tend to report

  • Form errors that clear what people typed.
  • Time zone mistakes in dates and bookings.
  • Admin users who can’t find a setting.
Three phones showing New reply on the button, the feedback list and the conversation
Replies reach people where they reported, on any screen size.

Your first week

  1. 1

    Day 1: test locally and in production

    Send a report from localhost and from your live site, and check both arrive in the same inbox.

  2. 2

    Days 2 to 5: identify signed-in users

    Pass the user ID and any useful context, such as plan or account, so each report says who it came from.

  3. 3

    Days 6 and 7: route reports to your tracker

    Copy reports that need code changes into your issue tracker, and reply when the fix ships.

Questions

Does it need a pip package?

No. It runs in the browser.

Can I hide it for anonymous users?

Yes, wrap it in {% if user.is_authenticated %}.

Why doesn’t the button show?

Check that the address you’re on is listed in your Bopmigo project, that the change is live, and open a private window in case of caching. If your site has a Content Security Policy, allow https://bopmigo.com.

More: all install guides · website options · install with a coding agent