바탕화면에 homework라는 폴더를 만들어 줍시다.
이번 프로젝트는 homework폴더에서 진행합니다.
home work를 만들어 주었으면 어느 때와 같이 기본 설정을 해줍니다.
python -m venv myvenv
source myvenv/Scripts/activate
pip install django
이와 같이 pip버전의 업그레이드가 필요하면 바로바로 업그레이드해줍시다.
그리고 이번 프로젝트의 핵심인 djangorestframework를 설치합니다.
pip install djangorestframework
이제 기본 환경이 세팅되었으니 새로운 homework프로젝트와 mystorage앱을 만들어줍시다.
django-admin startproject homework
최상위 homework 폴더 이름을 project로 변경 후 이동
cd project
python manage.py startapp mystorage
project/homework/settings.py
settings.py에 설치한 framework와 새로운 앱을 등록하여 준다.
다음은 mystorage에서 url을 관리해주기 위하여
project/mystorage/urls.py 파일을 새롭게 생성하여 준다.
이제 mystorage의 urls.pt와 homework의 urls.py를 연결하여 주기 위하여
homework/urls.py로 이동하여 코드를 수정하여 준다.
from django.contrib import admin from django.urls import path, include
from mystorage import urls
urlpatterns = [ path('admin/', admin.site.urls), path('', include('mystorage.urls')), ] |
이제 mystorage/urls.py를 설정하여 주자
from rest_framework.routers import DefaultRouter from django.urls import path, include from mystorage import views
router = DefaultRouter() router.register('essay', views.PostViewSet)
urlpatterns = [ path('', include(router.urls)), ] |
mystorage/urls.py를 설정하여 주었다면 mystorage/views.py를 설정하여 주자.
from rest_framework import viewsets from .models import Essay # from .serializers import EssaySerializer
class PostViewSet(viewsets.ModelViewSet):
queryset = Essay.objects.all() # serializer_class = EssaySerializer |
#뒤의 serializers는 아직 설정하지 않아서 주석처리하여주었다.
mystorage/views.py안의 내용을 바꿨으면
mystorage앱 폴더에 새로운 파일 serializers.py를 새로 생성하여 준다.
이제 mystorage/views.py의 내용을 완성해 주기 위하여
mystorage/models.py 먼저 설정하여 주겠다.
from django.db import models from django.conf import settings
class Essay(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, on_delete=models.CASCADE) title = models.CharField(max_length=30) body = models.TextField() |
models.py를 수정하였다면 데이터베이스에 등록을 해준다.
python manage.py makemigrations
python manage.py migrate
mystorage/models.py를 설정하고 다음으로는 mystorage/serializers를 설정하자
from .models import Essay from rest_framework import serializers
class EssaySerializer(serializers.ModelSerializer):
class Meta: model = Essay fields = '__all__' |
또한 serializer를 설정하여 주었으니 아까 mystorage/views.py의 주석을 삭제하여주자.
완료가 되었다면 새로운 admin계정을 생성하여 준다.
python manage.py createsuperuser
새로운 admin을 생성하였다면 runserver를 통하여 서버가 잘 작동이 되는지 확인하여 준다.
python manage.py runserver
서버가 잘 돌아간다면 admin 페이지로 들어가 새로운 user를 추가하여 준다.
Add를 눌러 새로운 user1과 user2를 만들어 주자.
save버튼을 눌러 user2까지 생성이 완료된 걸 확인하여 준다.
이제 다시 매인 홈 http://127.0.0.1:8000/ 로 돌아와
아까 설정해준 essay로 들어가 새로운 글을 써보자.
essay의 주소로 들어가 새로운 글을 써볼 수 있다.
'코딩공부 > Python Django' 카테고리의 다른 글
KKU likelion django project (2) (0) | 2020.01.02 |
---|---|
KKU likelion django project (1) (0) | 2020.01.02 |
KKU likelion rest project (4) (0) | 2019.10.28 |
KKU likelion rest project (3) (1) | 2019.10.28 |
KKU likelion rest project (2) (0) | 2019.10.27 |