GenericIPAddressField – Django模型
GenericIPAddressField是一个存储**IPv4或IPv6地址的字段,以字符串格式(例如192.0.2.30或2a02:42fe::4)。这个字段的默认窗体部件是一个TextInput。IPv6地址的规范化遵循RFC 4291#section-2.2 section 2.2,包括使用该节第3段中建议的IPv4格式,如::fff:192.0.2.0。例如,2001:0::0:01将被规范化为2001::1,而:fff:0a0a:0a0a则为:fff:10.10.10.10。所有字符都转换为小写。
语法:
GenericIPAddressField接受以下参数:
将有效输入限制在指定的协议上。可接受的值是 “两者”(默认)、”IPv4 “或 “IPv6″。匹配是不区分大小写的。
解压IPv4映射的地址,如::fff:192.0.2.1。如果这个选项被启用,该地址将被解包为192.0.2.1。默认为禁用。只有在协议设置为’both’时才能使用。
Django模型的GenericIPAddressField说明
用一个例子说明GenericIPAddressField的情况。考虑一个名为geeksforgeeks的项目,有一个名为geeks的应用程序。
在geeks应用程序的models.py文件中输入以下代码。
在INSTALLED_APPS中增加geek的应用程序。
现在,当我们从终端运行makemigrations命令时。
在geeks目录下将创建一个名为migrations的新文件夹,其中有一个名为0001_initial.py的文件。
Now run,
因此,当你在项目中运行迁移时,会创建一个geeks_field GenericIPAddressField。它是一个用来存储整数的字段。
如何使用 GenericIPAddressField
GenericIPAddressField用于存储Pv4或IPv6地址,为字符串格式,所以它基本上是一个带有IP地址验证的CharField。让我们试着在这个字段中保存一个IP地址 ” 0.0.0.0 ” 。
现在让我们在管理服务器中检查一下。我们已经创建了一个GeeksModel的实例。