GenericIPAddressField – Django表单
Django表单中的GenericIPAddressField是一个文本字段,用于输入IP地址。它是一个包含IPv4或IPv6地址的字段。这个输入的默认部件是TextInput 。它被规范化为一个Python字符串。它验证给定的值是否是一个有效的 IP 地址。
GenericIPAddressField需要以下可选参数:
- protocol :- 将有效输入限制在指定的协议上。接受的值是两者(默认)、IPv4或IPv6。匹配是不区分大小写的。
- unpack_ipv4 :- 解压IPv4映射的地址,如::fff:192.0.2.1。如果这个选项被启用,该地址将被解包到192.0.2.1。默认是禁用。只有当协议设置为 “both “时才能使用。
语法
Django表格的GenericIPAddressField说明
用一个例子说明GenericIPAddressField的情况。考虑一个名为geeksforgeeks的项目,它有一个名为geeks的应用程序。
在geeks应用程序的forms.py文件中输入以下代码。
在INSTALLED_APPS中增加geek的应用程序。
现在要把这个表单渲染成一个视图,我们需要一个视图和一个映射到该URL的URL。让我们首先在geeks应用程序的views.py中创建一个视图。
在这里,我们从forms.py导入特定的表单,并在视图中创建一个对象,这样它就可以在模板中呈现。现在,要启动一个Django表单,你需要创建home.html,在那里人们可以随意设计东西。让我们在home.html中创建一个表单。
最后,在urls.py中提供一个URL来映射到这个视图
让我们运行服务器并检查实际发生了什么,运行
因此,一个geeks_field GenericIPAddressField是通过将”_”替换为””来创建的。它是一个用于输入IP地址的字段。
如何使用 GenericIPAddressField
GenericIPAddressField是用来输入数据库中的IP地址的。人们可以输入用户IP地址、IPv4等。到目前为止,我们已经讨论了如何实现GenericIPAddressField,但如何在视图中使用它来执行逻辑部分。为了执行一些逻辑,我们需要将输入字段的值转化为一个python字符串实例。要获得GitHub的GenericIPAddressField的工作代码,请点击这里 在views.py中。
现在让我们试着在这个字段中输入一些其他数据。
你可以清楚地看到它在要求输入一个有效的IP地址。让我们现在试着输入有效的IP地址。
现在这些数据可以使用相应的请求字典来获取。如果方法是GET,数据将在request.GET中得到,如果是post,则相应的request.POST。在上面的例子中,我们有temp中的值,我们可以用于任何目的。你可以在geeks_field中检查数据是否被转换为一个python字符串实例。
核心领域的论点
核心字段参数是给每个字段的参数,用于应用一些约束或赋予一个特定字段以特定的特性。例如,给GenericIPAddressField添加一个参数required = False,就可以让它被用户留空。每个字段类的构造函数至少需要这些参数。一些字段类需要额外的、特定于字段的参数,但是下列参数应该总是被接受。
字段选项 | 描述 |
---|---|
required | 默认情况下,每个字段类都假定值是必填的,所以要使它不是必填的,你需要设置required=False。 |
label | 标签参数让你为这个字段指定 “人性化 “的标签。当字段在表格中显示时,这将被使用。 |
label_suffix | label_suffix参数让你在每个字段的基础上覆盖表单的label_suffix。 |
widget | widget参数让你指定一个Widget类,以便在渲染这个字段时使用。更多信息请参见Widget。 |
help_text | help_text参数让你为这个字段指定描述性文本。如果你提供了help_text,当字段被一个方便的表格方法呈现时,它将会显示在字段的旁边。 |
error_messages | error_messages参数让你覆盖字段将产生的默认信息。传入一个字典,其键值与你想覆盖的错误信息相匹配。 |
validators | validators参数让你为这个字段提供一个验证函数的列表。 |
localize | 本地化参数可以实现表单数据输入的本地化,也可以实现渲染输出的本地化。 |
disabled | disabled布尔参数,当设置为True时,使用disabled HTML属性禁用一个表单字段,这样它就不会被用户编辑。 |