我正在尝试通过 django-jsignature3 在我的 django 应用程序中实现一个 jsignature 插件,但是似乎我无法将它保存到我的数据库中。
这是我的代码:
模型.py
class JSignatureModel(JSignatureFieldsMixin):
name = models.CharField(max_length=20)
视图.py
def my_view(request):
form = SignatureForm(request.POST or None)
print('in view')
if form.is_valid():
signature = form.cleaned_data.get('signature')
print('form is valid')
if signature:
# as an image
print('found sig')
signature_picture = draw_signature(signature)
# or as a file
signature_file_path = draw_signature(signature, as_file=True)
return render(request, 'cash/jsig.html', {'form': form })
jsig.html
{% extends 'base.html' %}
{% load static %}
{%load crispy_forms_tags%}
{% block content %}
<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>
{%endblock content%}
网址.py
path('jsig/', views.my_view , name='jsig')
forms.py(这对我来说真的很不确定,我不理解文档,没有地方调用我的模型,因此我自己做了这个,但它不起作用)
class SignatureForm(forms.Form):
signature = JSignatureField()
class Meta:
model = JSignatureModel
fields = ['name','signature']
exclude = []
这是我的控制台
[04/Apr/2020 01:14:43] "GET /jsig/ HTTP/1.1" 200 5593
in view
form is valid
found sig
[04/Apr/2020 01:14:46] "POST /jsig/ HTTP/1.1" 200 5959
请帮忙,我真的很困惑!