Рубрики
Без рубрики

Как создать свой собственный API с Django Rest Framework? (Часть-1)

Здравствуйте, меня зовут Хиро. Я студент веб-разработки в Ванкувере. В это время я пытался создать … Теги с Python, Django, WebDev, начинающими.

Здравствуйте, меня зовут Хиро. Я студент веб-разработки в Ванкувере.

В это время я пытался создать свой собственный 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”