728x90
반응형
가상환경 만들기
python -m venv venv
source venv/Scripts/activate
우리가 필요한것은
django
django_seed (초기 데이터를 )
djangorestframework
가필요하다
pip install django django_seed djangorestframework
python manage.py migrate
django_seed 는 setting.py 에서 수정이 필요함
INSTALLED_APPS = [
'django_seed',
]
python manage.py seed articles --number=100
데이터 100개가 만들어졌는지 데이터베이스를 열어보겠습니다.
이후 config > urls.py 로 ㄱㄱ
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/', include('articles.urls')),
]
articles 에서 urls.py 를 만들어주고 코딩!
from django.urls import path, include
from . import views
urlpatterns = [
#모든 게시글을 반환하는 URL 주소
# GET http://localhost:8000/api/v1/articles/
# (동사) 행위는 HTTP method로 표현
# (명사) 자원은 URL로 표현
path('articles/', views.article_list),
]
views.py에서 article_list 만들기
from django.shortcuts import render
from django.http.response import JsonResponse, HttpResponse
from django.core import serializers
from .models import Article
# Create your views here.
def article_list(request):
articles = Article.objects.all() #QuerySet
data = serializers.serialize('json', articles) # 내가 json 으로 articles를 변환하겠다.
# articles_json = []
# for article in articles:
# json = {
# 'id':article.pk,
# 'title':article.title,
# 'content': article.content,
# 'created_at':article.created_at,
# 'updated_at':article.updated_at,
# }
# articles_json.append(json)
return HttpResponse(data, content_type='application/json')
https://docs.djangoproject.com/en/3.2/ref/request-response/#django.http.HttpRequest https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types
확인해보기
728x90
반응형