본문 바로가기
내일배움캠프/Django

DRF

by useSword 2024. 5. 1.

장고DRF 순서

1. settings.py에서 INSTALLED_APPS 변경
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Third-party
    "django_seed",
    'rest_framework',
    # Local
    "articles",
]

2. urls.py에서 articles 연결

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/api/v1/articles/', include('articles.urls')),
]


3. /articles에서 urls.py 변경

from django.urls import path
from . import views

app_name = "articles"
urlpatterns = [
    path("html/", views.article_list_html, name="article_list_html"),


4. /articles에서 view.py 변경
ㅁㅁㅁ
def article_list_html(request):
    articles = Article.objects.all()
    context = {"articles": articles}
    return render(request, "articles/articles.html", context)

5. /articles에서 models.py 변경

from django.db import models


class Article(models.Model):
    title = models.CharField(max_length=120)
    content = models.TextField()
    create_at = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)


6. 마이그레이션
python manage.py makemigrations
python manage.py migrate 

 


7. 장고 시드 설치 후 테스트
pip install django-seed
python manage.py seed articles --number=30




serializers




 serializers : django에 저장되어 있는 모델 인스턴스를 REST API에서 사용하는 JSON의 형태로 바꿔주는 것

1. pip install djangorestframework
2. serializers.py 생성 후 아래의 코드 작성

from rest_framework import serializers
from .models import Article


class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Products
        fields = "__all__"

3. view.py에서 코드 추가

@api_view(["GET"])
def json_drf(request):
    products = Products.objects.all()
    serializer = ProductSerializer(products, many=True)
    return Response(serializer.data)

4. urls.py 코드 추가
    path("json-drf/", views.json_drf, name="json_drf"),

'내일배움캠프 > Django' 카테고리의 다른 글

DRF - 3  (0) 2024.05.02
DRF - 2  (0) 2024.05.02
Django 8일차  (1) 2024.04.19
Django 7일차  (1) 2024.04.19
Django 5일차  (0) 2024.04.17