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

2020. 11. 24. 21:53Coding/Python-Fastcampus

728x90

03. View - 11. 주문 정보 조회하기

Views.py에서 OrderList라는 class를 만들고, session정보를 통해 queryset가져오기.

view.py

1
2
3
4
5
6
7
class OrderList(ListView) :
    template_name = 'order.html'
    context_object_name = 'order_list'
 
    def get_queryset(self**kwargs) :
        queryset = Order.objects.filter(fcuser__email = self.request.session.get('user'))
        return queryset
cs

 

class OrderList(ListView): 에서 def get_queryset()을 통해 self에 접근하는 것과

fcuser__email 에 _언더바가 2개 들어가는 부분 참고.

 

 

1번 계정

 

2번 계정

session을 통해 사용자 정보에 맞는 order값을 가져온다.

 

 

 

 


07. 클래스 - 02. Self, 클래스 변수, 인스턴스 변수(2)

self의 이해.

1
2
3
4
5
class SelfTest() :
    def func1() :
        print('func1 no self.')
    def func2(self) :
        print('func2 has self.')
cs

st = SelfTest()

st.func1()

>

 

 

 

SelfTest.func1()

>

 

 

 

st = SelfTest()

st.func2()

>

 

 


인스턴스를 생성하는 메소드는 self가 자동으로 넘어간다.

self가 없으면, class에서 직접 호출해야한다.

 

 


클래스와 인스턴스.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class WareHouse :
    stock_num = 0
 
    def __init__(self, name) :
        self.name = name
        WareHouse.stock_num += 1
 
    def __del__(self) :
        WareHouse.stock_num -= 1
 
wh1 = WareHouse('Lee')
wh2 = WareHouse('Park')
wh3 = WareHouse('Kim')
 
print(wh1.__dict__)
print(wh2.__dict__)
print(wh3.__dict__)
 
print(WareHouse.__dict__)
 
print(wh2.name)
print(wh3.stock_num)
 
del wh1
 
print(wh2.stock_num)
cs

 

stock_num은 클래스 변수.

name은 인스턴스 변수.

 

그러므로 새로운 인스턴스를 만들때마다 name은 새롭게 생기지만, 클래스 변수는 공유해서 사용한다.

(wh가 늘어나면 stock_num이 늘어나고, del로 wh를 지우면 stock_num도 줄어든다.)

 

 

 

 

 

 


07. 클래스 - 03. 상속, 다중상속(1)

상속 : 부모 클래스(super)의 속성과 메소드를 가져와서 사용 가능.

다중상속 : 여러개를 상속함. 자바에서는 인터페이스로했음. 파이썬은 그냥 다중으로 상속 가능.

 

 

 

... 뭐 하기도 전에 코딩하다가 강의가 끝남ㅋㅋㅋㅋㅋ

 

 

 

 

 

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

 

728x90