Skip to main content

SALTISE-user-feedback is a simple Django app to collect and store user feedback.

Quick start

  1. Add the UserFeedback app to your requirements, then pip install:

    pip install SALTISE-user-feedback
  1. Add “user_feedback” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'user_feedback',
        ...
    ]
  2. Include the user_feedback URLconf in your project urls.py like this:

    url("feedback/", include("user_feedback.urls")),
  3. Migrate:

    python manage.py migrate
  4. Setup an EMAIL_BACKEND in your project’s settings.py.

  5. Add admin emails to ADMINS’s list of tuples in your project’s settings.py:

    ADMINS = [('John', 'john@example.com'), ('Mary', 'mary@example.com')]
  6. If ‘/accounts/login/’ is not active, make sure to have a LOGIN_URL in your settings.py.

  7. Import user_feedback’s minified script in your base template (you can override default styles using global css names):

    <script src="{% static 'user_feedback/js/app.min.js' %}" defer="true"></script>
  8. Place the following element in templates where you would like for users to offer feedback:

    <div id="user-feedback-app"></div>
  9. If not in the template already, add a csrf token:

    {% csrf_token %}
  10. Inject the app into the DOM, customizing props as needed. Assuming django-csp is installed:

    <script nonce="{{ request.csp_nonce }}">
        window.addEventListener("load", function () {
        const feedback = () => {
            return user_feedback.h(user_feedback.App, {
            acceptText: "{% trans 'Send' %}",
            cancelText: "{% trans 'Cancel' %}",
            charCountText: "{% trans 'characters remaining' %}",
            description: "{% trans 'Leave feedback or get help' %}",
            feedbackTypes: [
                { value: 1, text: "Bug report" },
                { value: 2, text: "Feature request" },
                { value: 3, text: "General feedback" }
            ],
            menuFeedbackText: "{% trans 'Give Feedback' %}",
            menuHelpText: "{% trans 'Tutorials and Forums' %}",
            menuHelpUrl: "#",
            placeholder: "{% trans 'Let us know what is on your mind...' %}",
            snackbarError:
            "{% trans 'An error occurred.  Please try again later.' %}",
            snackbarSuccess: "{% trans 'Thanks for your feedback!' %}",
            text: "",
            title: "{% trans 'How can we improve your experience?' %}",
            url: "{% url 'user_feedback:post' %}",
            nonce: "{{ request.csp_nonce }}",
            });
        };
        user_feedback.render(
            feedback(),
            document.getElementById("user-feedback-app")
        );
        });
    </script>

Quick start dev

  1. Install node modules:

    npm install
  2. Install dev-requirements:

    pip install -r requirements/dev-requirements.txt
  3. Install pre-commit:

    pre-commit install
  4. Create a superuser and login:

    python user_feedback.py createsuperuser
  5. Start the server:

    python user_feedback.py runserver
  6. Navigate to ‘localhost:8000/test/button/’, to see the user_feedback button in action.

  7. Build when you make edits to app.js:

    npx gulp scripts
  8. If you wish, remake the package:

    tox --recreate
  9. To publish, e.g.:

    twine upload .tox/dist/SALTISE_user_feedback-1.0.zip --verbose

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SALTISE_user_feedback-1.1.2.zip (81.1 kB view details)

Uploaded Source

File details

Details for the file SALTISE_user_feedback-1.1.2.zip.

File metadata

  • Download URL: SALTISE_user_feedback-1.1.2.zip
  • Upload date:
  • Size: 81.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for SALTISE_user_feedback-1.1.2.zip
Algorithm Hash digest
SHA256 c57647cb83ab8bcee43f2ddc5db586f5fc20db3fb9f7a6a09b9be01de2005303
MD5 1dd1e6e164d192fed837196a5d396714
BLAKE2b-256 909e17aa2961b5e07e12bf23e9c5ce199c8a1f08aa1e673c1b5a37e2eaf36e5b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.2 This release

1 file

1.1.1

1 file

1.1

1 file

1.0

1 file

0.1.2

1 file

0.1.1

1 file

0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page