Django Rest Framework 2.x 튜토리얼 (1)
Requirement
venv 환경 만들기
호스트 환경을 더럽히지 않으려면 파이썬 가상 환경 인 venv를 사용하는 것이 가장 쉬운 방법 중 하나입니다.
mkdir <project-name> # ex. example_django_rest_api
cd <project-name>
python -m venv venv
source venv/bin/activate
그러면 terminal에서의 표시가,
~$
-> [venv] ~$
와 같습니다. 반대로 말하면 이렇게 되지 않으면 venv 환경에 넣지 않습니다.
우선 프로젝트를 시작
패키지 설치 및 확인
venv 환경 내에서 먼저 이번에 다루는 프로젝트에 대한 종속 패키지를 설치합니다.
pip install Django django-livesync drf_yasg djangorestframework uWSGI packaging
설치한 패키지를 확인합시다.
pip freeze
$ pip freeze
# ...
# Django==2.2.4
# django-livesync==0.4
# djangorestframework==3.10.2
# ...
앞으로는 설치된 패키지 목록을 저장해 둡시다.
$ pip freeze > requirement.txt
현재까지의 폴더 구성은 다음과 같습니다.
. example_django_rest_api
├── db.sqlite3
├── example_django_rest_api
│ ├── __init__.py
│ ├── __pycache__
│ │ └── ...
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── venv
│ └── ...
└── requirement.txt
고마워요. 좀 더 노력하면 작은 휴식을 끼자.
Hello Django!
다음 명령을 사용하여 프로젝트를 시작할 수 있습니다.
마지막 "."을 잊지 마십시오.
$ django-admin startproject example_django_rest_api .
$ python manage.py runserver
브라우저에서 http://localhost:8000
로 이동하십시오. 다음과 같은 화면이 보일 것입니다.
Django 사용해 보았다! 같아요, 좋아요가 1000건 정도 붙어 있는 기사에서 자주 보는 것입니다.
Hello Swagger via Django !
일부 파일을 편집하면 Swagger에 대한 문이 열립니다. 이어서 livereload 등의 설정도 합시다.
먼저 settings.py
를 편집합니다.
# add '*' into a list
ALLOWED_HOSTS = ['*']
# add some elements into a list
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# add below elements
'livesync',
'rest_framework',
]
# add below lines
MIDDLEWARE_CLASSES = (
'livesync.core.middleware.DjangoLiveSyncMiddleware',
)
그런 다음 urls.py
를 편집합니다.
from django.contrib import admin
from django.urls import path
# add below lines
from django.conf.urls import url
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
schema_view = get_schema_view(
openapi.Info(
title="RESTful API Lists",
default_version='v1',
description="Django Rest Framework Swagger : First Steps",
terms_of_service="https://github.com/MokkeMeguru",
contact=openapi.Contact(email="[email protected]"),
license=openapi.License(name="MIT"),
),
public=True,
permission_classes=(permissions.AllowAny,),
)
# add some elements into the list
urlpatterns = [
path('admin/', admin.site.urls),
# url(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]
편집이 끝나면 http://localhost:8000/swagger
로 이동하십시오. swagger 경계 익숙한 화면을 볼 수 있다고 생각합니다. API를 사용해 볼 때 이것이 매우 유용하다고 생각합니다 (다음 번부터 소개합니다).
http://localhost:8000/redoc
는 API 의 문서적인 것을 볼 수 있게 되어 있습니다. 관심이 있으시면 방문해보세요.
이상으로 이번 튜토리얼은 종료입니다. 커피도 마시고 휴식을 취합시다.
Tips
django-rest-swagger 폐지
이 issue 에서 알 수 있듯이, django-rest-swagger 는 오와콘이 되었습니다.
대신 drf-yasg을 사용합시다.
PyMySQL의 Django 비 대응 정보
아무래도 Django 는 PyMySQL 의 대응을 하고 싶지 않은 것 같습니다. 최소한 Django 2.2.1에서는 지원되지 않았습니다. htps : // / cs. d 쟈고 p 로지 ct. 코 m/엔/2.2/레아아세 s/2.2/ 에서도 알 수 있듯이 mysqlclient 추측의 모양.
같은 기능의 라이브러리를 난립시키지 말고 싶다(절실)
venv 환경은 OOO(에디터명)로 어떻게 들어가는 거야?
"OOO venv python"에서 확인하십시오. 그래서 모르면, 당신에게 그 에디터는 맞지 않을까요.
pip install -r requirement.txt
종속 패키지를 저장한 파일에서 패키지 설치를 수행하는 방법. 다른 환경으로 리포지토리를 복제하고 실행할 때 중요합니다.
backlog
이 상태의 데이터는이 리포지토리의 release v0.1.1에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 자습서(0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/18b33d6e866f633aa52b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
mkdir <project-name> # ex. example_django_rest_api
cd <project-name>
python -m venv venv
source venv/bin/activate
패키지 설치 및 확인
venv 환경 내에서 먼저 이번에 다루는 프로젝트에 대한 종속 패키지를 설치합니다.
pip install Django django-livesync drf_yasg djangorestframework uWSGI packaging
설치한 패키지를 확인합시다.
pip freeze
$ pip freeze
# ...
# Django==2.2.4
# django-livesync==0.4
# djangorestframework==3.10.2
# ...
앞으로는 설치된 패키지 목록을 저장해 둡시다.
$ pip freeze > requirement.txt
현재까지의 폴더 구성은 다음과 같습니다.
. example_django_rest_api
├── db.sqlite3
├── example_django_rest_api
│ ├── __init__.py
│ ├── __pycache__
│ │ └── ...
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── venv
│ └── ...
└── requirement.txt
고마워요. 좀 더 노력하면 작은 휴식을 끼자.
Hello Django!
다음 명령을 사용하여 프로젝트를 시작할 수 있습니다.
마지막 "."을 잊지 마십시오.
$ django-admin startproject example_django_rest_api .
$ python manage.py runserver
브라우저에서
http://localhost:8000
로 이동하십시오. 다음과 같은 화면이 보일 것입니다.Django 사용해 보았다! 같아요, 좋아요가 1000건 정도 붙어 있는 기사에서 자주 보는 것입니다.
Hello Swagger via Django !
일부 파일을 편집하면 Swagger에 대한 문이 열립니다. 이어서 livereload 등의 설정도 합시다.
먼저
settings.py
를 편집합니다.# add '*' into a list
ALLOWED_HOSTS = ['*']
# add some elements into a list
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# add below elements
'livesync',
'rest_framework',
]
# add below lines
MIDDLEWARE_CLASSES = (
'livesync.core.middleware.DjangoLiveSyncMiddleware',
)
그런 다음
urls.py
를 편집합니다.from django.contrib import admin
from django.urls import path
# add below lines
from django.conf.urls import url
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
schema_view = get_schema_view(
openapi.Info(
title="RESTful API Lists",
default_version='v1',
description="Django Rest Framework Swagger : First Steps",
terms_of_service="https://github.com/MokkeMeguru",
contact=openapi.Contact(email="[email protected]"),
license=openapi.License(name="MIT"),
),
public=True,
permission_classes=(permissions.AllowAny,),
)
# add some elements into the list
urlpatterns = [
path('admin/', admin.site.urls),
# url(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]
편집이 끝나면
http://localhost:8000/swagger
로 이동하십시오. swagger 경계 익숙한 화면을 볼 수 있다고 생각합니다. API를 사용해 볼 때 이것이 매우 유용하다고 생각합니다 (다음 번부터 소개합니다).http://localhost:8000/redoc
는 API 의 문서적인 것을 볼 수 있게 되어 있습니다. 관심이 있으시면 방문해보세요.이상으로 이번 튜토리얼은 종료입니다. 커피도 마시고 휴식을 취합시다.
Tips
django-rest-swagger 폐지
이 issue 에서 알 수 있듯이, django-rest-swagger 는 오와콘이 되었습니다.
대신 drf-yasg을 사용합시다.
PyMySQL의 Django 비 대응 정보
아무래도 Django 는 PyMySQL 의 대응을 하고 싶지 않은 것 같습니다. 최소한 Django 2.2.1에서는 지원되지 않았습니다. htps : // / cs. d 쟈고 p 로지 ct. 코 m/엔/2.2/레아아세 s/2.2/ 에서도 알 수 있듯이 mysqlclient 추측의 모양.
같은 기능의 라이브러리를 난립시키지 말고 싶다(절실)
venv 환경은 OOO(에디터명)로 어떻게 들어가는 거야?
"OOO venv python"에서 확인하십시오. 그래서 모르면, 당신에게 그 에디터는 맞지 않을까요.
pip install -r requirement.txt
종속 패키지를 저장한 파일에서 패키지 설치를 수행하는 방법. 다른 환경으로 리포지토리를 복제하고 실행할 때 중요합니다.
backlog
이 상태의 데이터는이 리포지토리의 release v0.1.1에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 자습서(0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/18b33d6e866f633aa52b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 상태의 데이터는이 리포지토리의 release v0.1.1에 있습니다.
리포지토리
목차
Django Rest Framework 2.x 자습서(0)
Django Rest Framework 2.x 튜토리얼 (1)
Django Rest Framework 2.x 튜토리얼 (2)
Django Rest Framework 2.x 튜토리얼 (3)
Django Rest Framework 2.x 튜토리얼 (4)
Django Rest Framework 2.x 튜토리얼 (5)
Django Rest Framework 2.x 튜토리얼 (6)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeguruMokke/items/18b33d6e866f633aa52b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Django Rest Framework 2.x 튜토리얼 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MeguruMokke/items/18b33d6e866f633aa52b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)