우선VS Code 를 실행해 주시고 프로젝트를 진행할 폴더를 하나 생성해 주세요

터미널에 virtualenv fc_env 를 입력해주면 가상환경 폴더가 생성 됩니다.

그리고 fc_env/Scripts/activate.bat 를 하면 가상 환경이 활성화 됩니다.
터미널에 pip install django 를 입력해서 django 패키지 또한 설치해주세요

django-admin startproject fc_django 를 하면 fc_django 라는 프로젝트 폴더가 생깁니다.

cd fc_django 를 해서 프로젝트 폴더 안으로 들어간 후 앱을 생성해 주세요
앱 생성은 fcuser, order, product 세 개의 앱을 생성 할 겁니다.
django-admin startapp fcuser
django-admin startapp order
django-admin startapp product
터미널에 위 세가지 명령어를 입력하면 앱이 생성됩니다.

그 다음은 모델과 어드민 설정!
fcuser > models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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='등록날짜')
def __str__(self):
return self.email
class Meta:
db_table = 'fastcampus_fcuser'
verbose_name = '사용자'
verbose_name_plural = '사용자'
|
order > models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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='등록날짜')
def __str__(self):
return str(self.fcuser) + ' ' + str(self.product)
class Meta:
db_table = 'fastcampus_order'
verbose_name = '주문'
verbose_name_plural = '주문'
|
product > models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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='등록날짜')
def __str__(self):
return self.name
class Meta:
db_table = 'fastcampus_product'
verbose_name = '상품'
verbose_name_plural = '상품'
|
fcuser > admin.py 설정
1
2
3
4
5
6
7
8
9
|
from django.contrib import admin
from .models import Fcuser
# Register your models here.
class FcuserAdmin(admin.ModelAdmin):
list_display = ('email', )
admin.site.register(Fcuser, FcuserAdmin)
|
order > admin.py 설정
1
2
3
4
5
6
7
8
|
from django.contrib import admin
from .models import Order
# Register your models here.
class OrderAdmin(admin.ModelAdmin):
list_display = ('fcuser', 'product')
admin.site.register(Order, OrderAdmin)
|
product > admin.py 설정
1
2
3
4
5
6
7
8
|
from django.contrib import admin
from .models import Product
# Register your models here.
class ProductAdmin(admin.ModelAdmin):
list_display = ('name', 'price')
admin.site.register(Product, ProductAdmin)
|
이렇게 하면 모델과 어든 설정은 끝났습니다.
그리고나서 터미널 환경을 통해 마이그레이션을 생성해 주세요.
python manage.py makemigrations
python manage.py migrate
그리고
python manage.py createsuperuser 을 입력하고 어드민 계정을 생성해 주세요
아이디와 이메일, 비밀번호를 입력 한 뒤
python manage.py runserver 을 하고 주소창에 127.0.0.1:8000/admin 을 입력하고 어드민 계정으로 로그인 해주세요

그리고 난 뒤 사용자에서 테스트 계정과 상품을 등록 해주시고 주문을 추가해 보세요 !
정상적으로 작동이 되시는 걸 확인 하실 수 있습니다.
'Python & Django > Django Framework 실전' 카테고리의 다른 글
[Decorator] - 페이지 권한 쉽게 설정하기 (0) | 2020.08.16 |
---|---|
[view] 상품 주문하기, 주문 정보 조회하기 (0) | 2020.08.12 |
[view] 상품 등록하기, 상세 보기 (0) | 2020.07.30 |
[view] 상품 목록 만들기 (0) | 2020.07.27 |
[view] 회원 가입, 로그인 만들기 (0) | 2020.07.24 |
댓글