问题
I am using jsignature:
https://github.com/fle/django-jsignature
I have managed to display the signature pad:
But when i tried to submit the form. i noticed that it could not pass the is_valid function and when i tried to printout the errors here is what i get:
<ul class="errorlist"><li>signature<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
Here's my code in view:
form = SignatureForm(request.POST)
if form.is_valid():
signature = form.cleaned_data.get('signature')
if signature:
# as an image
signature_picture = draw_signature(signature)
# or as a file
signature_file_path = draw_signature(signature, as_file=True)
else:
print(form.errors)
Template:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>signature</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
</head>
<body>
{{ form.media }}
<form action="." method="POST">
{% for field in form %}
{{ field.label_tag }}
{{ field }}
<span style="color:red">{{ field.errors }}</span>
{% endfor %}
<input type="submit" value="Save"/>
{% csrf_token %}
</form>
</body>
</html>
forms.py
from django import forms
from jsignature.forms import JSignatureField
class SignatureForm(forms.Form):
signature = JSignatureField()
来源:https://stackoverflow.com/questions/59638551/django-jsignature-not-passing-the-form-is-valid