Предпоставки:
Преди да практикувате скрипта на този урок, трябва да изпълните следните задачи.
- Инсталирайте Django версия 3+ на Ubuntu 20+ (за предпочитане)
- Създайте проект на Django
- Стартирайте сървъра Django, за да проверите дали сървърът работи правилно или не.
Настройване на приложение Django за сериализатори:
Изпълнете следната команда, за да създадете приложение на Django с име serialapp.
$ python3 управлява.py startapp serialappИзпълнете следната команда, за да създадете потребителя за достъп до базата данни на Django. Ако сте създавали потребителя преди, не е необходимо да изпълнявате командата.
$ python3 управлява.py създаваuperuserИзпълнете следната команда, за да инсталирате Django REST Framework.
$ pip3 инсталирайте djangorestframeworkДобавете rest_framework и името на приложението в INSTALLED_APP част от настройки.py файл.
INSTALLED_APPS = [.. .
'rest_framework',
„сериалап“
]
Създайте модел за таблицата на базата данни:
Отвори модели.py файл от serialapp папка и добавете следния скрипт, за да определите структурата на клиенти таблици. Клиент клас е дефиниран за създаване на таблица с име клиенти с име, адрес, имейл, contact_no, и създаден полета. Тук, име, имейл, и contact_no полета ще съхраняват данни за символи, адресът полето ще съхранява текстовите данни и създаден полето ще съхранява данните DateTime.
модели.py
# Импортирайте модула за моделиот django.db модели за импортиране
# Определете класа на модела за таблицата на клиентите
клас Клиент (модели.Модел):
име = модели.CharField (max_length = 100)
адрес = модели.Текстово поле()
имейл = модели.CharField (max_length = 50)
contact_no = модели.CharField (max_length = 20)
created = модели.DateTimeField (auto_now_add = True)
Стартирайте макемиграции команда за създаване на нова миграция въз основа на промените, направени от моделите.
$ python3 управлява.py makemigrations serialappСтартирайте мигрират команда за изпълнение на SQL команди и създаване на всички таблици в базата данни, дефинирани в модели.py файл.
$ python3 управлява.py мигриратПроменете съдържанието на администратор.py файл със следното съдържание. Тук, клиентът клас на моделите се регистрира чрез използване регистъра () метод за показване на клиенти таблици в таблото за управление на Django.
администратор.py
# Импортиране на администраторски модулот django.принос вноса администратор
# Импортирайте модела на клиента
от .модели импортиране на клиент
# Регистрирайте модела на клиента
администратор.сайт.регистриране (клиент)
URL адреси.py
от django.път за импортиране на URL адресиот django.принос вноса администратор
urlpatterns = [
# Определете пътя за администратор
път ('admin /', admin.сайт.URL адреси),
]
Добавете записи в таблицата:
Отворете страницата за администриране на Django и добавете някои записи в клиенти таблица, показана на браузъра в JSON формат. Тук са вмъкнати три записа.
Променете изгледите.py:
Отвори мнения.py файл от serialapp и заменете съдържанието със следния скрипт. CustomerList class е дефиниран за сериализиране на всички записи на клиентите и връщане на данните в браузъра във формат JSON. CustomerDetail class е дефиниран за сериализиране на конкретния клиентски запис въз основа на стойността на ID и връщане на данните на браузъра във формат JSON. CustomerSerializer е файл на сериализатори, който е създаден в следващата част на този урок.
мнения.py
# Импортирайте генерични продукти от рамката Django RESTот rest_framework импортиране на генерични продукти
# Импортиране на модел на клиента
от .модели импортиране на клиент
# Импортирайте CustomerSerializer от сериализатори
от .сериализатори импортират CustomerSerializer
# Определете клас за конвертиране на всички записи от таблицата на клиентите в JSON
клас CustomerList (генерични.ListCreateAPIView):
queryset = Клиент.обекти.всичко()
serializer_class = CustomerSerializer
# Определете клас, за да конвертирате конкретния запис от таблицата на клиентите в JSON
клас CustomerDetail (генерични.RetrieveUpdateDestroyAPIView):
queryset = Клиент.обекти.всичко()
serializer_class = CustomerSerializer
Създаване на сериализатор:
Създайте сериализатори.py файл на същото място на мнения.py файл със следния скрипт. ModelSerializer class се използва тук за създаване CustomerSerializer клас, който връща класа на сериализаторите с полетата на модела на клиента. Полетата на модела на клиента, които ще бъдат преобразувани в JSON формат, са посочени в Мета клас.
сериализатори.py
# Импортирайте модул за сериализатори от Django REST Frameworkот rest_framework импортиране на сериализатори
# Импортиране на модел на клиента
от .модели импортиране на клиент
# Дефинирайте класа на персонализираните сериализатори, за да конвертирате полетата на модела на клиента в JSON
клас CustomerSerializer (сериализатори.ModelSerializer):
клас Meta:
модел = клиент
полета = ('id', 'name', 'address', 'email', 'contact_no')
Променете URL адресите.py файл:
Променете съдържанието на URL адреси.py файл със следния скрипт. В сценария,клиенти/'пътят е дефиниран за показване на всички записи на клиенти таблица във формат JSON иклиенти/
URL адреси.py
# Импортиране на администраторски модулот django.принос вноса администратор
# Импортиране на път и включване на модул
от django.път за импортиране на URL адреси
# Импортирайте изгледите
от изгледи за импортиране на serialapp
# Импортирайте format_suffix_patterns от Django REST Framework
от rest_framework.urlpatterns импортиране format_suffix_patterns
urlpatterns = [
# Определете пътя за администратор
път ('admin /', admin.сайт.URL адреси),
# Определете пътя за получаване на всички данни за клиенти във формат JSON
път ('клиенти /', изгледи.CustomerList.as_view ()),
# Дефинирайте пътя за получаване на конкретните клиентски данни въз основа на ID във формат JSON
път ('клиенти //', изгледи.CustomerDetail.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Всички записи на таблицата с клиенти ще бъдат показани във формат JSON, ако се изпълни следният URL адрес.
http: // localhost: 8000 / клиенти
Записът на втория клиент ще бъде показан във формат JSON, ако се изпълни следният URL адрес.
http: // localhost: 8000 / customers / 2
Заключение:
Използването на сериализатори в приложението Django за конвертиране на екземпляра на модел в JSON формат е показано в този урок с помощта на прост скрипт. Потребителите на Django ще разберат целта на използването на сериализатори и ще ги приложат в тяхното приложение, ако е необходимо, след като прочетат този урок.