A Django app to gather and send internal Government staff feedback
Project description
django-feedback
A Django app to gather and send internal Government staff feedback, e.g. for open beta periods
Installation
pip install django-feedback-govuk
- Add
django-feedback
to your INSTALLED_APPS settings:
INSTALLED_APPS = [
...
'crispy_forms',
'crispy_forms_gds',
'django_feedback_govuk',
...
]
- Create a new email template in the GovUk Notify service, making sure to create a ((feedback_url)) field.
Note that ((feedback_url)) will be a link to the listing view, not an individual piece of feedback.
You'll need an API key and template ID from the gov.uk Notify service.
- Add the following settings to the file:
# Crispy forms
CRISPY_ALLOWED_TEMPLATE_PACKS = ["gds"]
CRISPY_TEMPLATE_PACK = "gds"
# Gov Notify
GOVUK_NOTIFY_API_KEY="<your-api-key>"
# Django Feedback GovUK
DJANGO_FEEDBACK_GOVUK = {
"SERVICE_NAME": "<your-service>",
"FEEDBACK_NOTIFICATION_EMAIL_TEMPLATE_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"FEEDBACK_NOTIFICATION_EMAIL_RECIPIENTS": ["email@example.com"],
"COPY": {
#...add any copy tags to override here
}
}
The copy dict contains string IDs for all user-facing copy, defaulting to the following (override
just the fields you want to, using the {{ service_name }}
variable if necessary for _title and _body strings):
{
"SUBMIT_TITLE": "Give feedback on {{ service_name }}",
"CONFIRM_TITLE": "Feedback submitted",
"CONFIRM_BODY": "Thank you for submitting your feedback.",
"FIELD_SATISFACTION_LEGEND": "Overall, how did you feel about the service you received today?",
"FIELD_COMMENT_LEGEND": "How could we improve this service?",
"FIELD_COMMENT_HINT": "Do not include any personal or financial information, for example your National Insurance or credit card numbers.",
}
The email addresses are for every recipient that should get an email when feedback is submitted.
- Build your own templates
Override the built-in templates by making new templates in your app under the
django_feedback_govuk/templates
path. You'll need templates for submit.html
, confirm.html
and listing.html
, each of which should load its respective template tag from feedback_submit
,
feedback_confirm
and feedback_listing
.
For example:
{# /your-project/templates/django_feedback_govuk/templates/submit.html #}
{% extends "base.html" %}
{% load feedback_tags %}
{% block content %}
{% feedback_submit %}
{% endblock content %}
If you'd like to use the templatetags without causing page loads to new views
- Add the URLs to your project
from django_feedback_govuk import urls as feedback_urls
urlpatterns = [
...
path("feedback/", include(feedback_urls)),
...
]
- Set up user permissions
Pushing to PyPI
Running make build-package
will build the package into the dist/
directory.
Running make push-pypi-test
will push the built package to Test PyPI.
Running make push-pypi
will push the built package to PyPI.
Setting up poetry for pushing to PyPI
First you will need to add the test pypy repository to your poetry config:
poetry config repositories.test-pypi https://test.pypi.org/legacy/
Then go to https://test.pypi.org/manage/account/token/ and generate a token.
Then add it to your poetry config:
poetry config pypi-token.test-pypi XXXXXXXX
Then you also need to go to https://pypi.org/manage/account/token/ to generate a token for the real PyPI.
Then add it to your poetry config:
poetry config pypi-token.pypi XXXXXXXX
Now the make commands should work as expected.
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
Built Distribution
Hashes for django_feedback_govuk-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45c0c8972affc643ae98efb5143fbcf6f448772032934aa3f02e3cf1a2a46e5c |
|
MD5 | bc65d2bc8b544d5fc25d401710668987 |
|
BLAKE2b-256 | b5bde4215218d52c98787e3997763f4aa479a4c775c35c480273199d5ceb2787 |
Hashes for django_feedback_govuk-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4841a6942431b49bce63ca567a7b59ba6b37f3ad63f63c45be9641c30c025912 |
|
MD5 | ad5a75505e1025f451cd3e631420f137 |
|
BLAKE2b-256 | b318bc5e266393727d9bd4755d3b0bd3ee858a0e9ad0074306480fac8dd20bcd |