跳转到主要内容

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 提供测试表单。

它被简化为最小的工作示例,以方便读者。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-cleavejs-0.1.1.tar.gz (12.2 kB 查看哈希值)

上传时间

构建分布

django_cleavejs-0.1.1-py3-none-any.whl (12.6 kB 查看哈希值)

上传时间 Python 3

由以下机构支持