Code Monkey home page Code Monkey logo

django-rest-framework-rusdoc's Introduction

Django REST framework

Logo by Jake 'Sid' Smith

Django REST framework - это мощный и гибкий набор инструментов для создания Web API.

Некоторые причины, по которым вы можете захотеть использовать REST framework:


Требования

REST framework требует следующего:

  • Django (4.2, 5.0)
  • Python (3.8, 3.9, 3.10, 3.11, 3.12)

Мы настоятельно рекомендуем и официально поддерживаем только последние выпуски патчей каждой версии Python и Django.

Следующие пакеты являются необязательными:

  • PyYAML, uritemplate (5.1+, 3.0.0+) - Поддержка генерации схем.
  • Markdown (3.3.0+) - Поддержка Markdown для Web-интерфейса API.
  • Pygments (2.7.0+) - Добавление подсветки синтаксиса в обработку Markdown.
  • django-filter (1.0.1+) - Поддержка фильтрации.
  • django-guardian (1.1.1+) - Поддержка разрешений на уровне объектов.

Установка

Установите с помощью pip, включая все дополнительные пакеты, которые вы хотите...

pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support

...или клонируйте проект с github.

git clone https://github.com/encode/django-rest-framework

Добавьте 'rest_framework' в настройку INSTALLED_APPS.

INSTALLED_APPS = [
    ...
    'rest_framework',
]

Если вы планируете использовать Web-интерфейс API, вы, вероятно, также захотите добавить представления входа и выхода из системы REST framework. Добавьте следующее в ваш корневой файл urls.py.

urlpatterns = [
    ...
    path('api-auth/', include('rest_framework.urls'))
]

Обратите внимание, что путь URL может быть любым, какой вы захотите.

Пример

Давайте рассмотрим быстрый пример использования REST-фреймворка для создания простого API с поддержкой модели.

Мы создадим API с функцией чтения-записи для доступа к информации о пользователях нашего проекта.

Все глобальные настройки для API REST-фреймворка хранятся в одном конфигурационном словаре с именем REST_FRAMEWORK. Начните с добавления следующих параметров в модуль settings.py:

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

Не забудьте убедиться, что вы также добавили rest_framework в INSTALLED_APPS.

Теперь мы готовы к созданию нашего API. Вот корневой модуль нашего проекта urls.py:

from django.urls import path, include
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets

# Serializers define the API representation.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ['url', 'username', 'email', 'is_staff']

# ViewSets define the view behavior.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer

# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
    path('', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

Теперь вы можете открыть API в браузере по адресу http://127.0.0.1:8000/ и просмотреть новых "пользователей" API. Если вы используете элемент управления входом в систему в правом верхнем углу, вы также сможете добавлять, создавать и удалять пользователей из системы.

Быстрый старт

Не можете дождаться начала работы? Руководство quickstart - это самый быстрый способ начать работу и создавать API с помощью REST framework.

Руководство

Руководство проведет вас через все этапы настройки DRF. Это займет не очень много времени, однако вы получите полное понимание того, как все компоненты работают друг с другом и данное руководство крайне рекомендовано к прочтению.

Так же есть пример работающего API законченного руководства для тестовых целей, доступен здесь.

Навигатор по API

Навигатор по API - исчерпывающее руководство по всему функционалу, предоставляемому DRF.

Статьи

Основные руководства для использующих DRF.

Разработка

Смотрите руководство для разработчиков для получения информации о том, как клонировать репозиторий, запустить набор тестов и внести изменения в REST Framework.

Поддержка

За поддержкой обращайтесь в REST framework discussion group, попробуйте использовать канал #restframework на irc.libera.chat, или задайте вопрос на Stack Overflow, обязательно указав тег 'django-rest-framework'.

Для получения приоритетной поддержки подпишитесь на профессиональный или премиум спонсорский план.

Безопасность

Вопросы безопасности решаются под руководством Django security team.

Пожалуйста, сообщайте о проблемах безопасности по электронной почте [email protected].

После этого сопровождающие проекта будут работать с вами над решением любых вопросов, если потребуется, до обнародования информации.


Авторы перевода

Помощь в переводе

Спасибо всем за помощь в переводе!

Перевод производится с помощью утилиты md_docs-trans-app

django-rest-framework-rusdoc's People

Contributors

an9rewryan avatar daniil-filippov-lans avatar degterevz avatar fojetin avatar ginosunset avatar github-actions[bot] avatar hryhoryeu avatar ilyachch avatar leksuss avatar pymq avatar rufatpro avatar stefs-2142 avatar tezlaa avatar titovroman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-rest-framework-rusdoc's Issues

Сделать добавление в PR не только измененных файлов, но и того, что поменялось

добавить дату/время изменения файлов в PR (либо проверить, что можно использовать дату/время изменения файла в git)

писать в описание PR дифф файла со времени последнего изменения (должно поддерживать несколько коммитов)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.