[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 15 회차 미션

2020. 11. 16. 22:13Coding/Python-Fastcampus

728x90

01. 소개 - 01. 프로젝트 소개

앞서 진행한 Django를 기반으로 코드의 재사용성을 높여서 개발과 유지보수의 효율을 올린다.

데코레이터 : 중복사용되는 코드들을 모아서 재사용하는 것

DRF 프레임워크 : RESTful API 개발할때 사용? / 그냥 RESTful API 돌리는거 간단하게 만드려고 사용?

 

 


02. 설정 - 01. 프로젝트 구성

새로운 가상환경에 새로운 프로젝트를 만든다.

강의에서는 VirtualEnv를 사용했지만, anaconda를 썼으니, 그냥 anaconda로 한다...

 

가상환경 생성.

파이썬 3버전때의 가장 최신을 사용하는 conda_advanced라는 이름의 가상환경을 만든다.

>conda create -n conda_advanced python=3

 

장고를 설치한다.

>conda install django

 

 


새로운 프로젝트 생성.

프로젝트 생성

>django-admin startproject fc_django

 

fcuser앱 생성 / product앱 생성 / order 앱 생성

>django-admin startapp fcuser

>django-admin startapp product

>django-admin startapp order

 

 

완료

(이건 조금 잘못된게... fc_django프로젝트 안에 fcuser와 order 그리고 product가 있어야하는데, fc_django 프로젝트 폴더와 같은 레벨에 fcuser, order, product폴더가 있다.

여기엔 안나타나 있지만 옮겨주고 진행했다.)

 


02. 설정 - 02. Model 구성

fcuser.py

1
2
3
4
5
6
7
8
9
10
11
12
from django.db import models
 
# Create your models here.
class Fcuser(models.Model) :
    email = models.EmailField(verbose_name="이메일")
    password = models.CharField(max_length=64, verbose_name="비밀번호")
    register_date = models.DateTimeField(auto_now_add=True, verbose_name="가입일")
 
    class Meta:
        db_table = 'fastcampus_fcuser'
        verbose_name = '회원'
        verbose_name_plural = '회원 목록'
cs

 

 

order.py

1
2
3
4
5
6
7
8
9
10
11
12
13
from django.db import models
 
# Create your models here.
class Order(models.Model) :
    fcuser = models.ForeignKey('fcuser.Fcuser', on_delete=models.CASCADE, verbose_name='주문자')
    product = models.ForeignKey('product.Product', on_delete=models.CASCADE, verbose_name='상품')
    quantity = models.IntegerField(verbose_name="수량")
    register_date = models.DateTimeField(auto_now_add=True, verbose_name="주문일")
 
    class Meta:
        db_table = 'fastcampus_order'
        verbose_name = '주문'
        verbose_name_plural = '주문 목록'
cs

 

 

product.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from django.db import models
 
# Create your models here.
class Product(models.Model) :
    name = models.CharField(max_length=256, verbose_name="상품명")
    price = models.IntegerField(verbose_name="상품가격")
    description = models.TextField(verbose_name="상품설명")
    stuck = models.IntegerField(verbose_name="재고")
    register_date = models.DateTimeField(auto_now_add=True, verbose_name="등록일")
 
    class Meta:
        db_table = 'fastcampus_product'
        verbose_name = '상품'
        verbose_name_plural = '상품 목록'
cs

 

 

 


Project의 settings에 INSTALLED_APPS 등록.

 

 


Migration.
>python manage.py makemigrations

 

>python manage.py migrate

 

 

여기까지하면 db.sqlite3파일이 생기면서
models를 기반으로 DB가 생성된다.

>sqlite3 db.sqlite3

명령어로 db.sqlite3에 접근이 가능하다.

 

 

 

테이블 구조 확인.

>.schema fastcampus_fcuser

>.schema fastcampus_order

>.schema fastcampus_product

pk는 autoincrement로 잘 생성된거 같고, 나머지도 입력한대로 잘 만들어졌다.

 

 


기존엔 sptringboot만 써보다가 django를 써보니, 간단간단하게 쑥쑥 만들어지는거 같아 신기하다.

그러면서도, 아직 django에 익숙하지 않아서 왜 이걸하나, 뭔 기능인가 싶은 것들도 많다.

코드 포함해서 1000자 채워도 문제없는지 몰라서 일단 주저리 주저리 이런말 저런말을 적어봤다.

 

 

 

올인원 패키지 : 파이썬 웹 개발👉https://bit.ly/33a7nvc

728x90