Requisitos previos:
Antes de practicar el guión de este tutorial, debe completar las siguientes tareas.
- Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
- Crea un proyecto de Django
- Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.
Configura una aplicación Django para serializadores:
Ejecute el siguiente comando para crear una aplicación Django llamada serialapp.
$ python3 administrar.py startapp serialappEjecute el siguiente comando para crear el usuario para acceder a la base de datos de Django. Si ha creado el usuario antes, entonces no necesita ejecutar el comando.
$ python3 administrar.py crea superusuarioEjecute el siguiente comando para instalar Django REST Framework.
$ pip3 instalar djangorestframeworkAgregue el rest_framework y el nombre de la aplicación en el INSTALLED_APP parte de ajustes.py expediente.
INSTALLED_APPS = [.. .
'rest_framework',
'serialapp'
]
Cree un modelo para la tabla de la base de datos:
Abre el modelos.py archivo de la serialapp carpeta y agregue el siguiente script para definir la estructura de clientes mesas. Cliente la clase se define para crear una tabla llamada clientes con nombre, dirección, correo electrónico, contact_no, y creado campos. Aquí, nombre Correo Electronico, y contact_no los campos almacenarán datos de caracteres, la dirección El campo almacenará los datos de texto y creado El campo almacenará los datos de fecha y hora.
modelos.py
# Importar el módulo de modelosde django.modelos de importación de db
# Definir la clase de modelo para la tabla de clientes
clase Cliente (modelos.Modelo):
nombre = modelos.CharField (longitud_máxima = 100)
dirección = modelos.Campo de texto()
email = modelos.CharField (longitud_máxima = 50)
contact_no = modelos.CharField (longitud_máxima = 20)
creado = modelos.DateTimeField (auto_now_add = True)
Ejecutar el hacer migraciones comando para crear una nueva migración basada en los cambios realizados por los modelos.
$ python3 administrar.py makemigrations serialappEjecutar el emigrar comando para ejecutar los comandos SQL y crear todas las tablas en la base de datos definida en el modelos.py expediente.
$ python3 administrar.py migrarModificar el contenido del administración.py archivo con el siguiente contenido. Aquí, el cliente La clase de los modelos se registra utilizando el registro() método para mostrar el clientes tablas en el panel de administración de Django.
administración.py
# Importar módulo de administraciónde django.administrador de importación de contribuciones
# Importar el modelo de cliente
de .importación de modelos Cliente
# Registrar el modelo de cliente
administración.sitio.registrarse (cliente)
urls.py
de django.ruta de importación de URLde django.administrador de importación de contribuciones
urlpatterns = [
# Definir la ruta para el administrador
ruta ('admin /', admin.sitio.urls),
]
Agregue registros a la tabla:
Abra la página de administración de Django y agregue algunos registros en el clientes tabla mostrada en el navegador en formato JSON. Aquí, se han insertado tres registros.
Modificar las vistas.py:
Abre el puntos de vista.py archivo de la serialapp y reemplace el contenido con la siguiente secuencia de comandos. Lista de clientes la clase está definida para serializar todos los registros de los clientes y devolver los datos al navegador en formato JSON. Detalle del cliente la clase se define para serializar el registro de cliente en particular en función del valor de ID y devolver los datos del navegador en formato JSON. CustomerSerializer es un archivo de serializadores que se ha creado en la siguiente parte de este tutorial.
puntos de vista.py
# Importar genéricos desde Django REST Frameworkde rest_framework importar genéricos
# Modelo de cliente de importación
de .importación de modelos Cliente
# Importar CustomerSerializer desde serializadores
de .Importación de serializadores CustomerSerializer
# Definir clase para convertir todos los registros de la tabla de clientes en JSON
class CustomerList (genéricos.ListCreateAPIView):
queryset = Cliente.objetos.todas()
serializer_class = CustomerSerializer
# Definir clase para convertir el registro particular de la tabla de clientes en JSON
clase CustomerDetail (genéricos.RetrieveUpdateDestroyAPIView):
queryset = Cliente.objetos.todas()
serializer_class = CustomerSerializer
Crear serializador:
Crear serializadores.py archivo en la misma ubicación del puntos de vista.py archivo con el siguiente script. ModelSerializer la clase se usa aquí para crear CustomerSerializer clase que devuelve la clase de serializadores con los campos del modelo de cliente. Los campos del modelo de cliente que se convertirán a formato JSON se mencionan en el Meta clase.
serializadores.py
# Importar módulo de serializadores desde Django REST Frameworkdesde serializadores de importación rest_framework
# Modelo de cliente de importación
de .importación de modelos Cliente
# Defina la clase de serializadores personalizados para convertir los campos del modelo del cliente en JSON
clase CustomerSerializer (serializadores.ModelSerializer):
clase Meta:
modelo = Cliente
campos = ('id', 'nombre', 'dirección', 'correo electrónico', 'contact_no')
Modificar las URL.archivo py:
Modificar el contenido del urls.py archivo con el siguiente script. En el guión, el 'clientes/'ruta se define para mostrar todos los registros de la clientes tabla en formato JSON y el 'clientes/
urls.py
# Importar módulo de administraciónde django.administrador de importación de contribuciones
# Importar ruta e incluir módulo
de django.ruta de importación de URL
# Importar las vistas
desde vistas de importación de serialapp
# Importar format_suffix_patterns desde Django REST Framework
de rest_framework.urlpatterns importar format_suffix_patterns
urlpatterns = [
# Definir la ruta para el administrador
ruta ('admin /', admin.sitio.urls),
# Defina la ruta para obtener todos los datos de los clientes en formato JSON
ruta ('clientes /', vistas.Lista de clientes.as_view ()),
# Defina la ruta para obtener los datos del cliente en particular según el ID en formato JSON
ruta ('clientes //', vistas.Detalle del cliente.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Todos los registros de la tabla de clientes se mostrarán en formato JSON si se ejecuta la siguiente URL.
http: // localhost: 8000 / clientes
El registro del segundo cliente se mostrará en formato JSON si se ejecuta la siguiente URL.
http: // localhost: 8000 / clientes / 2
Conclusión:
El uso de serializadores en la aplicación Django para convertir la instancia del modelo en formato JSON se muestra en este tutorial usando un script simple. Los usuarios de Django comprenderán el propósito de usar serializadores y los aplicarán en su aplicación si es necesario después de leer este tutorial.