Я использую jsignature:
https://github.com/fle/django-jsignature
Мне удалось отобразить панель подписи:
Но когда я попытался отправить форму. я заметил, что он не может передать функцию is_valid, и когда я попытался распечатать ошибки, вот что я получаю:
<ul class="errorlist"><li>signature<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
Вот мой код:
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)
Шаблон:
<!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()