Здравствуйте, меня зовут Хиро. Я студент веб-разработки в Ванкувере.
В это время я пытался создать свой собственный API с Джанго. Эта статья просто показывает, как создать простую API. Это означает, что мы можем просто получить все данные. Но это полезно, и мы можем получить знания о API, создавая его самим собой.
Я покажу вам, как создать свой собственный API с Django Rest Framework. Эта библиотека помогает вам легко создать его.
Не волнуйтесь, не важно, если вы знаете о Python или Django. Я покажу это с помощью базы командной строки.
Давайте попробуем создать свой API!
Проверьте среду Python
Сначала мы проверяем, установлен ли Python или нет. Если нет, вы можете установить его отсюда. Мы должны использовать Python с более чем 3.0 версией. Скачать Python
python -v or python3 -v
pip -v or pip3 -v
Примечание. Если команда не работает, вы можете проверить среду вашего пути.
Установить VirtualenV
Мы можем создать виртуальную среду для этого времени, потому что мы должны отделить среду Python каждый проект.
pip install virtualenv
Создать virtualenv.
После установки VirtualenV мы можем использовать команду virtualenv. Если вы не используете его, пожалуйста, проверьте условия пути.
virtualenv {eivironment_name}
Далее активируйте виртуальную среду.
source {eivironment_name}/bin/activate
Создать проект Django
После активации виртуальной среды мы устанавливаем Django.
pip install django.
Следующий шаг, мы создаем проект Django.
django-admin startproject {Project_name}
Перейти к папке проекта
cd {Project_name}
Создать заявку Django
Мы можем создать приложение Django, как эта команда.
django-admin startapp {App_name}
Мы закончили начальную настройку! Затем мы проверим приложение Django по умолчанию Django.
1. Проверьте Django Admin.
Вы можете зарегистрировать свое имя пользователя и пароль после CreatesuperUser команда.
python manage.py migrate python manage.py createsuperuser
После этого вы можете запустить сервер разработки.
python manage.py runserver
Мы можем получить доступ к серверу разработки и Admin App! Войдите, используя свое имя пользователя и пароль, прежде чем зарегистрироваться.
http://localhost:8000/admin
2. Показать Hello World
Следующим шагом мы пытаемся отображать «Hello Django».
Сначала мы изменим Просмотр .py В нашей папке приложения. Views.py может вернуть HTTP-ответ, JSON и так далее. Мы можем определить, какой ответ мы можем видеть здесь.
Примечание. Папка приложения означает, что мы создаем папку с python manage.py startapp command
# {app_folder}/views.py from django.http import HttpResponse def Top(request): return HttpResponse("Hello Django
")
Во-вторых, мы создаем новые URLS.PY В нашей папке приложения. Мы можем определить, какой путь URL подключите ответ в просмотре .py. В этом случае http://localhost: 8000/ Можно подключить Top View.py и получить ответ HTTP.
# {app_folder}/urls.py from django.urls import path from .views import Top urlpatterns = [ path('', Top), # http://localhost:8000/ ]
Finaly, мы редактируем URLS.PY в папке проекта. Этот проект URLS.PY может быть подключен к URL-адресам нашего приложения.
Примечание. Папка проекта означает, что мы создаем папку с Python Manage.py STARTPROJECT Команда И отредактируйте такой файл.
# {project_folder}/urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # http://localhost:8000/admin path('', include('{your_app_name}.urls')), # http://localhost:8000/ ]
Теперь мы можем увидеть «Hello Django» после запуска нашего сервера разработки.
http://localhost:8000
3. Изменить модели .py и зарегистрируйтесь администратора приложение
После того, как мы сможем увидеть «Hello Django», мы изменяем модели .py. Мы можем обновить подобное это.
# {app_folder}/models.py from django.db import models class Product(models.Model): name = models.CharField(max_length=50) description = models.CharField(max_length=100) def __str__(self): return self.name
Models.py можно определить нашу таблицу базы данных и столбцы. В этом случае я определяю Продукт стол и имя и Описание поля Но вы можете определить любые. Charfield означает поля символов. Нам не нужно писать синтаксис SQL.
Следующий шаг, мы будем использовать эту модель для создания нашей базы данных. Мы можем использовать эту команду.
python manage.py makemigrations
Автоматически генерировать файл 0001_initial.py в папке миграции. Далее мы выполняем эту команду.
python manage.py migrate
Наконец, мы регистрируем модель Admin App. Мы можем редактировать admin.py в папке приложения, как это.
# {app_folder}/admin.py from django.contrib import admin from .models import Product # import our model @admin.register(Product) class ProductAdmin(admin.ModelAdmin): pass
И тогда мы можем увидеть модель в Admin App после войти в систему нашего приложения администратора! Мы можем добавить некоторые данные из Admin App сейчас.
4. Настройка Read Framework
Далее мы установим Django Ress Framework.
pip install djangorestframework
И добавьте приложение к настройкам проекта.
Документация
INSTALLED_APPS = [ ... 'rest_framework', ]
А потом отредактируйте просмотр .py.
INSTALLED_APPS = [ ... 'rest_framework', ]
В это время мы создаем serializers.py в папке приложения. Этот сериализатор помогает нам сообщать данные между моделями и Python. Мы можем написать так.
# {app_folder}/serializers.py from rest_framework import serializers from .models import Product class ProductSerializer(serializers.ModelSerializer): class Meta: model = Product fields = '__all__'
Мы также можем изменить просмотр .py, как это.
# {app_folder}/views.py from django.http import HttpResponse from rest_framework.decorators import api_view from rest_framework.response import Response from .models import Product from .serializers import ProductSerializer # Create your views here. def Top(request): return HttpResponse("Hello Django
") # ---New--- @api_view(['GET']) def getAllProducts(request): products = Product.objects.all() # Get all data serializer = ProductSerializer(products, many=True) # Data Converter return Response(serializer.data)
Наконец, мы можем изменить URLSPY в папке приложения, как это.
from django.urls import path from .views import Top, apiOverviews, getAllProducts urlpatterns = [ path('', Top), # http://localhost:8000 path('api/products/', getAllProducts), # http://localhost:8000/api/products ]
Путь: API/Продукция зависит от вас. Мы можем написать любой путь. После регистрации собственных данных из приложения Admin вы можете проверить данные из API/продуктов. http://localhost:8000/api/products
Заключение
В этой статье мы только что создали функцию API получить все данные о локальной среде. Я создаду статью о развертывании этой простой API в реальный мир с Heroku. Конечно, если вам интересно другим функциям API, таких как специфические Get, Post, Put и Delete, я могу написать больше статьи.
Если вы заинтересованы в этой статье, пожалуйста, прокомментируйте мне!
Спасибо, что вы получите время, чтобы прочитать эту статью!
биография
Я студент Ванкувера, Канада, а также иметь опыт работы для внутренних технологий. Мне также нравятся услуги AWS и имеют некоторые сертификаты. В наше время я изучаю интерфейсные технологии, такие как JavaScript/Tymdercript, Rect, Next.js.
Я ищу работу неполный рабочий день или волонтерская работа в Канаде. Если вам интересно меня, пожалуйста, свяжитесь со мной
Github этой статьи
Linkedin.
Оригинал: “https://dev.to/hiro9108/how-to-build-your-own-api-with-django-rest-framework-part-1-444c”