2020. 11. 18. 22:10ㆍCoding/Python-Fastcampus
02. 설정 - 03. Admin 구성
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)
|
cs |
order의 admin.py
1
2
3
4
5
6
7
8
9
|
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)
|
cs |
product의 admin.py
1
2
3
4
5
6
7
8
9
|
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)
|
cs |
Super 계정 생성.
>python manage.py createsuperuser
>아이디
>메일
>비번
>re비번
서버 실행.
>python manage.py runserver
admin 접속.
[주문 목록] 추가기능 개선.
회원이나 상품은 크게 문제 없지만 주문 목록은 회원목록과 상품목록을 가져오기 떄문에 이런 문제가 발생.
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 = '회원 목록'
|
cs |
order의 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 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 = '주문 목록'
|
cs |
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 = '상품 목록'
|
cs |
def __str__(self) : 기능을 통해서 name이나 email등으로 돌려준다.
03. View - 01. Class-based View란
docs.djangoproject.com/ko/3.1/topics/class-based-views/generic-display/
강의에 보여지는 Django의 공식 문서.
코드의 재사용이나, 프레임워크의 편리함 정도가 언급되고,
실제로 써봐야 뭐가 어떻게 좋은지 알기 쉬울듯.
05. 흐름 제어 - 05. 반복문(3)
for를 중지 시키는 break.
다른 언어와 똑같다. for문을 돌리다가 특정 조건이 되면 for문을 빠져나오게 할 수 있다.
for - else문.
1
2
3
4
5
6
7
8
9
10
|
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]
for num in numbers:
if num == 33: # 45
print("found : 33!")
break
else:
print("not found : ", num)
else:
print("Not Found 39...")
|
cs |
for문이 정상적으로 끝까지 수행된 경우 else가 실행된다.
break에 걸려서 for문이 중간에 끝나야 else가 실행되지 않는다.
다른 언어에서는 Flag값 줘서 처리한거 같은데, 이건 좀 신박한듯.
for에서 동작을 무시하고 넘어가는 continue.
1~10까지를 for문으로 돌리면서 print()를 할때, 3의 배수를 제외하고 출력을 하고 싶은 경우.
3의 배수인 3,6,9를 제외하고 1,2,4,5,7,8,10를 출력하고 싶은 경우에 사용한다.
올인원 패키지 : 파이썬 웹 개발👉https://bit.ly/33a7nvc
'Coding > Python-Fastcampus' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 19 회차 미션 (0) | 2020.11.20 |
---|---|
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 18 회차 미션 (0) | 2020.11.19 |
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 16 회차 미션 (0) | 2020.11.17 |
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 15 회차 미션 (0) | 2020.11.16 |
[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 14 회차 미션 (0) | 2020.11.15 |