Pré-requisitos:
Antes de praticar o script deste tutorial, você deve concluir as seguintes tarefas.
- Instale o Django versão 3+ no Ubuntu 20+ (de preferência)
- Crie um projeto Django
- Execute o servidor Django para verificar se o servidor está funcionando corretamente ou não.
Configure um aplicativo Django para serializadores:
Execute o seguinte comando para criar um aplicativo Django chamado serialapp.
$ python3 manage.py startapp serialappExecute o seguinte comando para criar o usuário para acessar o banco de dados Django. Se você já criou o usuário antes, não precisa executar o comando.
$ python3 manage.py cria superusuárioExecute o seguinte comando para instalar o Django REST Framework.
$ pip3 install djangorestframeworkAdicione o rest_framework e o nome do aplicativo no INSTALLED_APP parte de definições.py Arquivo.
INSTALLED_APPS = [… .
'rest_framework',
'serialapp'
]
Crie um modelo para a tabela de banco de dados:
Abra o modelos.py arquivo do serialapp pasta e adicione o seguinte script para definir a estrutura de clientes mesas. Cliente classe é definida para criar uma tabela chamada clientes com nome, endereço, e-mail, contato_no, e criada Campos. Aqui, nome, email, e contact_no campos irão armazenar dados de caracteres, o endereço campo irá armazenar os dados de texto, e criada campo irá armazenar os dados DateTime.
modelos.py
# Importe o módulo de modelosde django.modelos de importação db
# Defina a classe do modelo para a mesa de clientes
classe Cliente (modelos.Modelo):
nome = modelos.CharField (max_length = 100)
endereço = modelos.Campo de texto()
email = modelos.CharField (max_length = 50)
contact_no = models.CharField (max_length = 20)
criado = modelos.DateTimeField (auto_now_add = True)
Execute o fazer migrações comando para criar uma nova migração com base nas mudanças feitas pelos modelos.
$ python3 manage.py makemigrations serialappExecute o migrar comando para executar os comandos SQL e criar todas as tabelas no banco de dados definido no modelos.py Arquivo.
$ python3 manage.py migrarModifique o conteúdo do admin.py arquivo com o seguinte conteúdo. Aqui, o consumidor classe dos modelos é registrada usando o registro() método para exibir o clientes tabelas no painel de administração do Django.
admin.py
# Importar módulo de administraçãode django.contrib import admin
# Importe o modelo do cliente
a partir de .clientes de importação de modelos
# Cadastre o modelo do cliente
admin.local.registrar (cliente)
urls.py
de django.caminho de importação de urlsde django.contrib import admin
urlpatterns = [
# Defina o caminho para o administrador
caminho ('admin /', admin.local.urls),
]
Adicione registros à tabela:
Abra a página de administração do Django e adicione alguns registros no clientes tabela exibida para o navegador no formato JSON. Aqui, três registros foram inseridos.
Modifique as visualizações.py:
Abra o Visualizações.py arquivo do serialapp e substitua o conteúdo pelo seguinte script. Lista de clientes classe é definida para serializar todos os registros dos clientes e retornar os dados para o navegador no formato JSON. CustomerDetail classe é definida para serializar o registro do cliente específico com base no valor de ID e retornar os dados do navegador no formato JSON. CustomerSerializer é um arquivo serializador que foi criado na próxima parte deste tutorial.
Visualizações.py
# Importar genéricos do Django REST Frameworkfrom rest_framework import generics
# Importar modelo de cliente
a partir de .clientes de importação de modelos
# Importar CustomerSerializer de serializadores
a partir de .serializadores import CustomerSerializer
# Defina a classe para converter todos os registros da tabela de clientes em JSON
classe CustomerList (genéricos.ListCreateAPIView):
queryset = Customer.objetos.tudo()
serializer_class = CustomerSerializer
# Defina a classe para converter o registro particular da tabela de clientes em JSON
classe CustomerDetail (genéricos.RetrieveUpdateDestroyAPIView):
queryset = Customer.objetos.tudo()
serializer_class = CustomerSerializer
Criar serializador:
Crio serializadores.py arquivo no mesmo local do Visualizações.py arquivo com o seguinte script. ModelSerializer classe é usada aqui para criar CustomerSerializer classe que retorna a classe serializadores com os campos do modelo do cliente. Os campos do modelo do cliente que serão convertidos em formato JSON são mencionados no Meta aula.
serializadores.py
# Importar módulo serializadores do Django REST Frameworkde serializadores de importação rest_framework
# Importar modelo de cliente
a partir de .clientes de importação de modelos
# Defina a classe de serializadores personalizados para converter os campos do modelo do cliente em JSON
classe CustomerSerializer (serializadores.ModelSerializer):
classe Meta:
modelo = cliente
campos = ('id', 'nome', 'endereço', 'e-mail', 'contato_no')
Modifique os urls.arquivo py:
Modifique o conteúdo do urls.py arquivo com o seguinte script. No script, o 'clientes/'caminho é definido para exibir todos os registros do clientes tabela no formato JSON, e o 'clientes/
urls.py
# Importar módulo de administraçãode django.contrib import admin
# Importar caminho e incluir módulo
de django.caminho de importação de urls
# Importe as visualizações
de visualizações de importação serialapp
# Importar format_suffix_patterns do Django REST Framework
de rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = [
# Defina o caminho para o administrador
caminho ('admin /', admin.local.urls),
# Defina o caminho para obter todos os dados dos clientes no formato JSON
caminho ('clientes /', visualizações.Lista de clientes.as_view ()),
# Defina o caminho para obter os dados específicos do cliente com base na ID no formato JSON
caminho ('clientes //', visualizações.CustomerDetail.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Todos os registros da tabela de clientes serão mostrados no formato JSON se o seguinte URL for executado.
http: // localhost: 8000 / clientes
O registro do segundo cliente será mostrado no formato JSON se o seguinte URL for executado.
http: // localhost: 8000 / clientes / 2
Conclusão:
O uso de serializadores no aplicativo Django para converter a instância do modelo no formato JSON foi mostrado neste tutorial usando um script simples. Os usuários do Django irão entender o propósito de usar serializadores e aplicá-los em seus aplicativos se necessário depois de ler este tutorial.