在django项目中使用jsignature jquery插件
django-jsignature的Python项目详细描述
在Django项目中使用jSignature jQuery plugin的简单方法。
它提供:
- 表单字段和表单小部件,用于通过django表单处理jquery插件;
- 存储捕获签名的模型字段; 在任意一个Django模型中添加两个字段(签名/签名日期)。
安装
目前:
pip install django-jsignature
用法
- 将jsignature添加到INSTALLED_APPS:
# settings.py INSTALLED_APPS = ( ... 'jsignature', )
- 使用提供的表单域和小部件:
# forms.py from django import forms from jsignature.forms import JSignatureField class SignatureForm(forms.Form): signature = JSignatureField()
- 在您的模板中
{{ form.media }} <form action="." method="POST"> {% for field in form %} {{ field.label_tag }} {{ field }} {% endfor %} <input type="submit" value="Save"/> {% csrf_token %} </form>
- 表单验证后呈现图像:
# views.py from jsignature.utils import draw_signature from myapp.forms import SignatureForm def my_view(request): form = SignatureForm(request.POST or None) 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)
定制
jsignature插件选项在python中可用:
- 全球范围内,在您的设置中:
# settings.py JSIGNATURE_WIDTH = 500 JSIGNATURE_HEIGHT = 200
- 具体来说,以您的形式:
# forms.py from jsignature.forms import JSignatureField from jsignature.widgets import JSignatureWidget JSignatureField(widget=JSignatureWidget(jsignature_attrs={'color': '#CCC'}))
可用设置为:
- JSIGNATURE_WIDTH(宽度)
- JSIGNATURE_HEIGHT(高度)
- JSIGNATURE_COLOR(颜色)
- JSIGNATURE_BACKGROUND_COLOR(背景色)
- JSIGNATURE_DECOR_COLOR(花色)
- JSIGNATURE_LINE_WIDTH(线宽)
- JSIGNATURE_UNDO_BUTTON(撤消按钮)
- JSIGNATURE_RESET_BUTTON(重置按钮)
在您的型号中
如果您要存储签名,则提供的MIXIN给出了一个^ {TT11} $和一个^ {TT12}$更新自己:
from django.db import models from jsignature.mixins import JSignatureFieldsMixin class JSignatureModel(JSignatureFieldsMixin): name = models.CharField()
更改日志
0.8(2014-12-04)
**新**
- 添加对python 3的支持(@gagaro)
- 添加对django 1.7的支持(@gagaro)
0.7.6(2014-11-26)
**新功能**
- 已添加显示(或不显示)重置按钮的设置(@jsayles)
**内部变更**
- 渲染现在基于模板(@andybak)
- javascript已正确初始化(@andybak)