Cleave.js集成到Django表单中
项目描述
此可重用应用程序帮助将Cleave.js集成到Django项目中。Cleave.js是一个JavaScript库,可以帮助“自动格式化输入文本内容”。
django-cleavejs简化了与Django的集成。它将Cleave.js的选项对象包装成一个表单小部件类,负责将选项传递到JavaScript并为每个此类输入字段初始化Cleave.js。
安装
要将django-cleavejs添加到项目中,首先将其添加为项目的依赖项,例如使用poetry
$ poetry add django-cleavejs
然后,将其添加到您的INSTALLED_APPS设置中,以便使其静态文件可用
INSTALLED_APPS = [ ... "dj_cleavejs.apps.DjCleaveJSConfig", ... ]
您需要通过某种方式提供Cleave.js本身。您可以手动下载它,或使用您喜欢的资产管理系统。例如,您可以使用django-yarnpkg依赖于cleave.js Yarn包
YARN_INSTALLED_APPS = [ "cleave.js", ] NODE_MODULES_ROOT = os.path.join(BASE_DIR, "node_modules") STATICFILES_FINDERS += ["django_yarnpkg.finders.NodeModulesFinder"]
然后,您可以选择自己将其包含在模板中,或通过配置设置中的URL或路径,让django-cleavejs通过其表单媒体添加它
CLEAVE_JS = "cleave.js/dist/cleave.min.js"
上述示例使用以下路径 STATIC_ROOT,其中 django-yarnpkg 会放置包,但当然可以根据您希望如何将 Cleave.js 使浏览器可用的方式,使用任何您想要的 URL 或路径。
用法
一旦可用,您就可以创建一个表单,就像平常一样,并在任何 CharField 上使用小部件。
from django.forms import CharField, Form from dj_cleavejs import CleaveWidget class TestForm(Form): windows_xp_serial = CharField(widget=CleaveWidget(blocks=[5, 5, 5, 5, 5], delimiter="-"))
在您的模板中,确保在表单之后某处包含表单的媒体。
CleaveWidget 支持所有由 Cleave.js 描述的选项,请参阅其 选项文档。将来,django-cleavejs 也将提供快捷方式。
示例
源分布以及 Git 仓库 包含一个完整的应用程序示例,它通过 /test.html 提供测试表单。
它被简化为最小的工作示例,以方便读者。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。