장고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 |