A Django app to collect and store user feedback.
Project description
SALTISE-user-feedback is a simple Django app to collect and store user feedback.
Quick start
Add the UserFeedback app to your requirements, then pip install:
pip install SALTISE-user-feedback
Add “user_feedback” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'user_feedback', ... ]
Include the user_feedback URLconf in your project urls.py like this:
url("feedback/", include("user_feedback.urls")),
Migrate:
python manage.py migrate
Setup an EMAIL_BACKEND in your project’s settings.py.
Add admin emails to ADMINS’s list of tuples in your project’s settings.py:
ADMINS = [('John', 'john@example.com'), ('Mary', 'mary@example.com')]
If ‘/accounts/login/’ is not active, make sure to have a LOGIN_URL in your settings.py.
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>
Place the following element in templates where you would like for users to offer feedback:
<div id="user-feedback-app"></div>
If not in the template already, add a csrf token:
{% csrf_token %}
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
Install node modules:
npm install
Install dev-requirements:
pip install -r requirements/dev-requirements.txt
Install pre-commit:
pre-commit install
Create a superuser and login:
python user_feedback.py createsuperuser
Start the server:
python user_feedback.py runserver
Navigate to ‘localhost:8000/test/button/’, to see the user_feedback button in action.
Build when you make edits to app.js:
npx gulp scripts
If you wish, remake the package:
tox --recreate
To publish, e.g.:
twine upload .tox/dist/SALTISE_user_feedback-1.0.zip --verbose
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c57647cb83ab8bcee43f2ddc5db586f5fc20db3fb9f7a6a09b9be01de2005303 |
|
MD5 | 1dd1e6e164d192fed837196a5d396714 |
|
BLAKE2b-256 | 909e17aa2961b5e07e12bf23e9c5ce199c8a1f08aa1e673c1b5a37e2eaf36e5b |