2020. 11. 16. 22:13ㆍCoding/Python-Fastcampus
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자 채워도 문제없는지 몰라서 일단 주저리 주저리 이런말 저런말을 적어봤다.
'Coding > Python-Fastcampus' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 17 회차 미션 (0) | 2020.11.18 |
---|---|
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 16 회차 미션 (0) | 2020.11.17 |
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 14 회차 미션 (0) | 2020.11.15 |
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 13 회차 미션 (0) | 2020.11.14 |
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 12 회차 미션 (0) | 2020.11.13 |