串行器中的IPAddressField – Django REST框架
在Django REST框架中,序列化的概念是将数据库数据转换为可被javascript使用的数据类型。每个序列化器都有一些将要被处理的字段(条目)。例如,如果你有一个名为Employee的类,其字段为Employee_id, Employee_name, is_admin等。那么,你就需要AutoField、CharField和BooleanField来通过Django存储和操作数据。同样的,序列化器也是以同样的原理工作的,它的字段是用来创建一个序列化器。
本文围绕Django REST框架中序列化器的IPAddressField展开。
IPAddressField
IPAddressField是一个字段,确保输入的是有效的IPv4或IPv6字符串。它与GenericIPAddressField – Django Forms相同。
语法 –
field_name = serializers.IPAddressField(*args, **kwargs)
如何在序列化程序中使用 IPAddressField
为了解释IPAddressField的用法,让我们使用相同的项目设置–《如何使用Django Rest框架创建一个基本的API?
现在你的项目中有一个叫做序列化器的文件,让我们创建一个以IPAddressField为字段的序列化器。
# import serializer from rest_framework
from rest_framework import serializers
class Geeks(object):
def __init__(self, ip):
self.ip = ip
# create a serializer
class GeeksSerializer(serializers.Serializer):
# initialize fields
ip = serializers.IPAddressField()
现在让我们创建一些对象,并尝试将它们序列化,检查它们是否真的能工作,运行,-
Python manage.py shell
现在,在shell中运行以下python命令
# import everything from serializers
>>> from apis.serializers import *
# create a object of type Geeks
>>> obj = Geeks("192.11.123.1")
# serialize the object
>>> serializer = GeeksSerializer(obj)
# print serialized data
>>> serializer.data
{'ip': '192.11.123.1'}