본문 바로가기

project DK

Project DK 시작 하였습니다.

728x90
반응형

안녕하세요? 리뷰용입니다.

 

이번에 리뷰용의 본분을 살짝 잊고 웹페이지 제작을 하려고합니다.

 

DK기업의 홈페이지를 제작할거구요

 

파이썬 장고를 이용해서 하려고합니다. 

 

이포스팅은 이 프로젝트는 패스트캠퍼스 파이썬 올인원 강의를

토대로 만들었습니다. 처음에는 따라치기 바빳는데 이제 제가

직접 만들려고 보면서 하니까 아 이런거구나 알수 있었습니다.

그래도 아직도 오류는 많이 나네요... 

 

1. 일단 가상화 환경을 만들어줍니다. : virtualenv dongkwang

 

2. 가상환경을 액티브하게 합니다 : source dongkwang/bin/activate

 

3. 장고를 설치합니다. : pip install django

 

4. 프로젝트를 설치합니다. : django-admin startproject dongkwang1

 

5. dongkwang1 로 들어가서 dkuser, product, order를 생성합니다. 

 

 : django-admin startapp dkuser

 : django-admin startapp product

 : django-admin startapp order

 

 

6. 이제 모델을 만들어야합니다. dkuser, product, order 폴더에 각각 models.py에 들어갑니다.

dkuser는 email, password, register_date

product는 name, proce,description 

order는 외래키를 써야합니다. foreignkey fcuser, product, quantity register_date 등록합니다. 

 

이제 DB에 넣어야 할 것들을 준비합니다. 

class Meta : ..... 이런식으로 dkuser, product, order 다 만들어줍니다. 

 

그리고 settings.py 에 등록을 해야합니다. 

installed apps에가서 3개 등록을하구요 이제 마이그레이션을 합니다.

 

python manage.py makemigrations

 

python manage.py migrate

 

이제 admin 을 생성 할것입니다. 

dkuser, product, order 폴더에가면 admin.py가 있는데 

거기있는 걸 건드릴겁니다. 거기서 핵심은 

list_display = () 입니다. 

 

슈퍼유저를 만드는방법은 

python manage.py create superuser 

아이디 비번 설멍하시고

 

python manage.py runserver 하시면 

웹브라우져에서 확인 가능합니다. 

 

 

 


 

dkuser admin.py

 

from django.contrib import admin

from .models import Dkuser

# Register your models here.

 

class DkuserAdmin(admin.ModelAdmin):

list_display = ('email', )

 

admin.site.register(Dkuser, DkuserAdmin)


dkuser models.py

 

from django.db import models

 

# Create your models here.

 

class Dkuser(models.Model):

email = models.EmailField(verbose_name='이메일')

password = models.CharField(max_length=128, verbose_name='비밀번호')

register_date = models.DateTimeField(auto_now_add=True, verbose_name='등록날짜')

 

class Meta:

db_table = 'dongkwang_dkuser'

verbose_name = '사용자'

verbose_name_plural = '사용자'


order admin.py

 

from django.contrib import admin

from .models import Order

# Register your models here.



class OrderAdmin(admin.ModelAdmin):

list_display = ('dkuser', 'product' )

 

admin.site.register(Order, OrderAdmin)

 


order models.py

 

from django.db import models

 

# Create your models here.

class Order(models.Model):

dkuser = models.ForeignKey('dkuser.Dkuser', 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 = 'dongkwang_order'

verbose_name = '주문'

verbose_name_plural = '주문'

 


product admin.py

 

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)

 


product models.py

 

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 = 'dongkwang_product'

verbose_name = '상품'

verbose_name_plural = '상품'

반응형