Add warnings to your Django Forms easily
Project description
Add warnings to your Django Forms easily
Documentation
The full documentation is at https://dj-warning-forms.readthedocs.io.
Quickstart
Install Django Warning Forms:
pip install dj-warning-forms
Use the form mixin in any form
from django import forms
from dj_warning_forms.forms import WarningFormMixin, FormFieldWarning
from .models import Poll
class PollForm(WarningFormMixin, forms.ModelForm):
question = forms.CharField(
max_length=200, widget=forms.TextInput(attrs={"autocomplete": "off"})
)
class Meta:
model = Poll
fields = "__all__"
def warning_question(self) -> List[FormFieldWarning]:
if not self.cleaned_data["question"].endswith("?"):
return [
FormFieldWarning(
message="Weird question",
description="This question does not end with a question mark. Are you sure you want to publish this question?", # noqa
)
]
return []
Adding a warning is as simple as adding a method with the warning_ prefix. This method must return a list of FormFieldWarning objects.
Showing warnings in the template
You can find the list of warnings in form.warnings.
{% block content %}
<form action="." method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
<!-- Customize your form warnings as you wish -->
{% if form.warnings %}
<div class="rounded p-2 mt-2 bg-warning">
<ul>
{% for warning in form.warnings %}
<li><b>{{ warning.message }}:</b> {{ warning.description }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
<!-- End of form warnings -->
</form>
{% endblock %}
Features
No external dependencies
Minimal changes needed in your forms
Easy to customize
Running Tests
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
Development commands
pip install -r requirements_dev.txt invoke -l
Credits
Tools used in rendering this package:
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
dj-warning-forms-0.1.0.tar.gz
(7.4 kB
view hashes)
Built Distribution
Close
Hashes for dj_warning_forms-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c11cbd8205c7185603fd0fe2741a13ddb278416b0bf05708ca4222715cddbafc |
|
MD5 | 4f6a22fcfb54557fbc3147682924863c |
|
BLAKE2b-256 | 4933daa453f629bc52ceb6286a47f8c222fe209b62dc49795cc4d0b622c7c81a |