Today I Learned D - 56

손상훈·2022년 11월 17일
0

< 2주차 프로젝트 전 장고 복습 >

< 프로젝트 기본 셋팅 >

폴더 생성 후 가상환경 설정하기.

python -m venv venv

가상환경 접속

source venv/scripts/activate

장고 restframework 설치

pip install djangorestframework

패키지설치된 거 txt 리스트에 넣어주기

pip freeze > requirements.txt

현재폴더에서 프로젝트 폴더 생성

django-admin startproject drf_week2 .

gitignore.io 추가하기

gitignore.io
(windows,python,django,macOS,VisualStudioCode)
.gitignore 파일 생성 후 안에 내용추가

git init 해주기

Github 레포지토리 생성

생성 후 주소 복사
git remote add origin $github주소

git add .
git commit -m "내용"
git push origin main

drf restframework 사용하기

settings.py에서 LANGUAGE_CODE = 'ko-kr' (언어설정)
TIME_ZONE = 'Asia/Seoul' (시간설정)

python manage.py runserver (서버실행)


3강 시리얼라이즈

새로운 앱폴더 생성

python manage.py startapp articles
앱폴더 생성 후 꼭 셋팅에 넣어주기

models.py 작업

class "클래스명"(models.Model):
	title = models.CharField(max_length=30)
    content = models.TextField()
   	created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

models.py를 건드렸으면 DB저장 꼭 해주기.
python manage.py makemigrations
python manage.py migrate

admin.py에서 클래스 등록해주기.

from "앱명".models import "클래스명"
admin.site.register(Article)

관리자아이디만들기

python manage.py createsuperuser

admin DB에 title로 띄우게 해주기.

def __str__(self):
	return str(self.title)

urls.py 설정하기

먼저 프로젝트 urls.py에서 앱urls.py를 포함시켜주기.

path('앱명/", include("앱명.urls")),

추가
include도 import부분에 넣어주기

셋팅urls.py을 앱 urls.py로 복사해오고

from $앱명 import views
path("$urls명/",views.$함수명, name="$함수명"),

view.py 작업 (drf reponse형식)

drf reponse 문서

from rest_framework.decorators import api_view
from rest_framework.response import Response
from $앱명.models import $클래스명

@api_view(['GET', 'POST'])
def $함수명(request):
	articles = $클래스명.objects.all()
    article = articles[0]
    article_data = {
    	"title":article.title,
        "content""article.content,
        "created_at":article.created_at,
        "updated_at":article.updated_at,
    }
	return Response(article_data)

IndentationError: unindent does not match any outer indentation level 라는 오류발생


다른점이 뭘까??.. 왓다갓다 빈공간을 지웟다 늘렷다하니 해결됨..

오류를 발견.

velog에서 복사해서 가져오면 앞에 투명커서가 같이 딸려와서 문제가 됨.

serializers.py 파일생성

profile
< 코린이의 코딩모험기 >

0개의 댓글

관련 채용 정보