2nd [Hines] ๐Ÿ’ซ6,7Day

์ด์œ ์ง„ยท2021๋…„ 12์›” 18์ผ
0

2nd_project(Hines)

๋ชฉ๋ก ๋ณด๊ธฐ
4/6
post-thumbnail

์–ด์ œ๊นŒ์ง€๋Š” ๋ฆฌ๋ทฐ post()๋ฉ”์†Œ๋“œ๋ฅผ ์œ ๋‹›ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด์„œ
์˜ค๋Š˜์€ ๋ฆฌ๋ทฐget()๋ฉ”์†Œ๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

์šฐ์„ , view.py๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ์ „ ๋ชฉ์ ๊ณผ input, output์„ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•ด๋ณด๊ณ  ๋กœ์ง์„ ์ž‘์„ฑํ•ด๋ณด๋Š”๊ฒŒ ์ข‹๋‹ค๊ณ  ํ•˜์…”์„œ ์ž‘์„ฑ์„ ํ•ด๋ณด์•˜๋‹ค.


  • 1)
class ReviewView(View):
    #@decorator
    def get(self, request, product_id): 
   
        reviews = Review.objects.all()
	review_list = []
        for review in reviews: 
        	review_list.append(review)
           

์šฐ์„  ์ฒ˜์Œ์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ์ด๋‹ค.
๋ฆฌ๋ทฐ์˜ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•˜๋‹ˆ, Review.objects.all()์„ ํ†ตํ•ด ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ์ฟผ๋ฆฌ์…‹์ธ ๋ฆฌ์ŠคํŠธ์˜ ํ˜•ํƒœ์ด๋‹ˆ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด for๋ฌธ์„ ์ž‘์„ฑํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

๋นˆ ๋ฆฌ์ŠคํŠธ์— review๋ฅผ ๋„ฃ์–ด๋ณด๋‹ˆ ๊ฐ์ฒด๋ฅผ ๊ทธ๋Œ€๋กœ ๋‹ด๋Š” ๊ฑธ ๋ณด๊ณ  ์ฝ”๋“œ์˜ ์ด์ƒํ•จ์„ ๋Š๋‚Œ.

class ReviewView(View):
    #@decorator
    def get(self, request, product_id): 
   
        reviews = Review.objects.all()
        # reviews = Review.objects.filter(id=product_id) #--> ์ฟผ๋ฆฌ์…‹ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ
        review_list = []
        for review in reviews:  # --> ์ฟผ๋ฆฌ์…‹ ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ์ฒด(review)๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์šค 
                                    # // ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์€๊ฒƒ : product1์˜ ํ‚ค : {product1์ด ๊ฐ€์ง„ ์ •๋ณด๋“ค}
                                    # // product์ •๋ณด๋ฅผ ๋‹ด์€ ํ‚ค๋ฒจ๋ฅ˜๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ์— ๋‹ด์•„์„œ ํฐ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„์„œ ์ฃผ๊ณ ์‹ถ๊ณ , 
                                    # // 5๊ฐœ์ •๋„์”ฉ ์ž˜๋ผ์„œ ์ฃผ๊ณ  ์‹ถ์Œ
            product1 :
                {
                    'year'         : review.created_at.year,
                    'month'        : review.created_at.month,
                    'day'          : review.created_at.day,
                    'kakao_id'     : review.user.kakao_id,
                    'product_name' : review.product.name,
                    'content'      : review.content,
                    'image_url'    : review.image_url,
                },
            product2 :
                {
                    'year'         : review.created_at.year,
                    'month'        : review.created_at.month,
                    'day'          : review.created_at.day,
                    'kakao_id'     : review.user.kakao_id,
                    'product_name' : review.product.name,
                    'content'      : review.content,
                    'image_url'    : review.image_url,
                },
            product3 :
                {
                    'year'         : review.created_at.year,
                    'month'        : review.created_at.month,
                    'day'          : review.created_at.day,
                    'kakao_id'     : review.user.kakao_id,
                    'product_name' : review.product.name,
                    'content'      : review.content,
                    'image_url'    : review.image_url,
                }
                
            review_list.append(product1) # review์˜ ๊ฐ์ฒด ์ •๋ณด๋ฅผ ๋„ฃ์–ด์•ผํ•จ
            review_list.append(product2)
            review_list.append(product3)

        #review => ์šฐ์„  ๊ฐ์ฒด์ž„
        #๋ฆฌ๋ทฐ ์ƒ์„ฑ ๋‚ ์งœ(๋…„๋„.์›”.์ผ๋งŒ ๋ถˆ๋Ÿฌ์™€์•ผํ•จ) =>  ๋…„๋„ = review.created_at.year
        #                                    ์›” = review.created_at.month
        #                                    ์ผ = review.created_at.day
        #์นด์นด์˜ค์•„์ด๋”” => review.user.kakao_id
        #์ƒํ’ˆ๋ช… => review.product.name
        #๋ฆฌ๋ทฐ๊ธ€์”จ => review.content
        #์œ ์ €๋“ฑ๋ก์ด๋ฏธ์ง€ =>review.image_url

๊ทธ๋ž˜์„œ {}๋”•์…”๋„ˆ๋ฆฌ์˜ ํ˜•ํƒœ๋กœ ๋‹ด์•„๋ณด์ž๋Š” ์ƒ๊ฐ์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ด„
for๋ฌธ์„ ๋Œ๋ฆฌ๊ธดํ–ˆ๋Š”๋ฐ ๋ญ”๊ฐ€ ์ด์ƒํ•จ...
append() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์–ด๋–ป๊ฒŒ ๋„ฃ์–ด์•ผ ํ• ์ง€ ๊ฐ์ด ์•ˆ์™€์„œ ์šฐ์„  ํ•˜๋“œ์ฝ”๋”ฉํ•œ ํ”์ 
์ด๋•Œ ์•„์ง ์ƒ์„ฑ๋‚ ์งœ์— ๋Œ€ํ•ด์„œ ๋…„์›”์ผ์„ ๋”ฐ๋กœ๋”ฐ๋กœ ํ”„๋ก ํŠธ๋‹จ์— ๋„˜๊ฒจ์ค„์ง€
๋…„์›”์ผ์„ ์กฐํ•ฉํ•ด์„œ ํ•ฉ์ณ์„œ ํ”„๋ก ํŠธ๋‹จ์— ๋„˜๊ฒจ์ค„์ง€ ์•„์ง ์†Œํ†ต์„ ๋ชปํ•ด์„œ ์ถ”ํ›„์— ๋‹ค์‹œ ์ด์•ผ๊ธฐ ํ•ด๋ณด๋Š” ๊ฑธ๋กœ

์—ฌ๊ธฐ์„œ ์ž ๊น ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•ด์•ผ ํ• ์ง€ ๊ณ ๋ฏผ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
๊ณ ๋ฏผ์„ ํ•˜๋˜ ์ค‘ ์ƒ๊ฐ์ด ์ ์  ์‚ฐ์œผ๋กœ ๊ฐ€์„œ ์ด ์ƒ๊ฐ์˜ ๋ฐฉํ–ฅ์„ฑ์— ๋Œ€ํ•ด ์˜๊ฒฌ์„ ๋“ฃ๊ณ  ์‹ถ์—ˆ๋‹ค...

"all()์„ ํ†ตํ•ด์„œ ์ฟผ๋ฆฌ์…‹ํ˜•ํƒœ๋ฅผ ๊ฐ์ฒด๋กœ ํ•œ๊ฐœ์”ฉ ๊บผ๋‚ด์™“๊ณ ,
๊ทธ ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ๋‹ค์‹œ ์ž˜๊ฒŒ์ž˜๊ฒŒ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ์— ํ‚ค์™€ ๋ฒจ๋ฅ˜๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ฃผ๊ณ  ์‹ถ์Œ
๊ทผ๋ฐ ๊ทธ ๋„ฃ์€ ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋˜ ํฐ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„์„œ ์ฃผ๊ณ  ์‹ถ์Œ
์™ ์ง€ for๋ฌธ์„ ์ด์ค‘์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ ๊ฒƒ๊ฐ™๊ธดํ•œ๋ฐ...์ด ๋ฐฉ๋ฒ•์ด ๋งž๋Š” ๊ฑด์ง€.."

๊ทธ๋ž˜์„œ ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๋Š”๊ฒŒ ๋งž๋Š”๊ฑด์ง€ ๋ฉ˜ํ† ๋‹˜๊ป˜ ๋„์›€์„ ์š”์ฒญํ•˜์˜€๋‹ค.

์ด์ค‘for๋ฌธ์— ๋Œ€ํ•œ ํžŒํŠธ์™€
ํ˜„์žฌ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์ƒ์œผ๋กœ ์–ด๋–ป๊ฒŒ {}๋”•์…”๋„ˆ๋ฆฌ๋ฅผ append()ํ•จ์ˆ˜์— ๋„ฃ์„์ˆ˜์žˆ๋Š”์ง€ ๊ฐ์ด ์•ˆ์™€์„œ ํ•˜๋“œ์ฝ”๋”ฉ์œผ๋กœ ์šฐ์„  ๋‚ด๊ฐ€ ํ”„๋ก ํŠธ๋‹จ์— ๋„˜๊ฒจ์ฃผ๊ณ  ์‹ถ์€ ์ •๋ณด๋ฅผ ๋ณ€์ˆ˜์— ๋„ฃ์–ด์„œ ๊ทธ๊ฑธ ๊ฐ๊ฐ append()์— ์ž„์˜์ ์œผ๋กœ ๋„ฃ๋Š” ์ž‘์—…์œผ๋กœ ์ž‘์„ฑํ•˜์—ฟ๋‹ค.

append()ํ•จ์ˆ˜์— ์—ฌํƒœ๊นŒ์ง€ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋งŒ ๋‹ด์„ ์ˆ˜ ์ž‡๋Š” ์ค„ ์•Œ์•˜๋‹ค
์˜ˆ๋ฅผ ๋“ค๋ฉด, ๊ธฐ์ดˆ์ ์ธ ์˜ˆ์‹œ๋กœ

result = []
for i in range():
	result.append(i)

append()ํ•จ์ˆ˜์˜ ํ˜•์‹์„ ์ฒ˜์Œ ์ ‘ํ–‡์„๋•Œ์˜ ๋ชจ์Šต๋งŒ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์—‡๋˜ ๊ฒƒ๊ฐ™๋‹ค...

์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ํŒŒ์ด์ฌ ๊ฐœ๋…๊ณต๋ถ€๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฑธ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋Š๋ผ๊ฒŒ ๋˜์—ˆ๋‹ค.( : ํŒŒ์ด์ฌ ๊ฐœ๋…์ด ๋ถ€์กฑํ•œ๊ฑด ํ”„๋กœ์ ํŠธ๋ฅผ ์šฐ์„  ๋๋‚ด๊ณ  ์ถ”๊ฐ€๋กœ ๋” ๊ณต๋ถ€ํ•˜๋Š”๊ฑธ๋กœ - ์šฐ์„ ์€ ํ”Œ์  ์™„์„ฑ๋จผ์ € ํ•˜์žใ… ใ… ใ… )

๋ฌดํŠผ.
append()ํ•จ์ˆ˜์— ํŒŒ์ด์ฌ ๊ฐ์ฒด๊ฐ€ ๋ชจ๋‘ ๋“ค์–ด๊ฐˆ์ˆ˜ ์ž‡๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋œ๊ฒƒ์ด๋‹ค,...ใ… ใ… ใ… 
๊ทธ๋Ÿผ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ {}๊ฐ’์„ ๊ทธ๋Œ€๋กœ append()ํ•จ์ˆ˜์— ๋„ฃ์„ ์ˆ˜ ์ž‡๋‹ค๋Š” ๊ฒƒ์ด ๋œ๋‹ค!!

๊ทธ๋Ÿฌ๋ฉด append()ํ•จ์ˆ˜์— {}๋”•์…”๋„ˆ๋ฆฌํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•ด์ฃผ๊ณ  ์‹ถ์€ ์ •๋ณด๋ฅผ key:valueํ˜•ํƒœ๋กœ ๋‹ด์•„์„œ ๋„ฃ์–ด๋ณด์ž!!
ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค...

class ReviewView(View):
    #@decorator
    def get(self, request, product_id):
reviews = Review.objects.filter(product_id = product_id)
        # reviews = Review.objects.filter(id=product_id) #--> ์ฟผ๋ฆฌ์…‹ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ
        review_list = []
        for review in reviews:  
            review_list.append(
                {
                    'year'         : review.created_at.year,
                    'month'        : review.created_at.month,
                    'day'          : review.created_at.day,
                    'kakao_id'     : review.user.kakao_id,
                    'product_name' : review.product.name,
                    'content'      : review.content,
                    'image_url'    : review.image_url,      
                }
            )

์ฒ˜์Œ์— reviews ๋ณ€์ˆ˜์— ๋ฆฌ๋ทฐ๋“ค์˜ ์ •๋ณด๋“ค์„ ๋‹ด์„ ๋•Œ
์กฐ๊ฑด์—†์ด all()๋กœ ๋ชจ๋“  ๋ฆฌ๋ทฐ๋“ค์„ ๊ฐ€์ง€๊ณ  ์˜ค๊ฒŒ ์ž‘์„ฑ์„ ํ–‡๋Š”๋ฐ
๋‹ค์‹œ ๋ชฉ์ ์„ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ
ํ•œ product์— ๋Œ€ํ•œ ๋ชจ๋“  ์œ ์ €๋“ค์ด ์ž‘์„ฑํ•œ ๋ชจ๋“  ๋ฆฌ๋ทฐ์˜€๋‹ค...
all()์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ๋ž‘์€ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค๋Š”๊ฒƒ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•˜๊ฒŒ ๋˜์—‡๋”ฐ.
์™œ๋ƒ. all()๊ฒฝ์šฐ, ์กฐ๊ฑด ์—†์ด ๋ชจ๋“  ๋ฆฌ๋ทฐ๋“ค์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ
๋ชจ๋“  ๋ฌผํ’ˆ์— ๋Œ€ํ•œ ๋ชจ๋“  ์œ ์ €๋“ค์ด ์ž‘์„ฑํ•ญ ๋ชจ๋“  ๋ฆฌ๋ทฐ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ฟผ๋ฆฌ์…‹์˜ ๋ณ€์ˆ˜๊ฐ€ ๋˜๋Š”๊ฒƒ์„ ๋Š๋ผ๊ณ 
filter()๋ฅผ ํ†ตํ•ด product์— ๋Œ€ํ•œ id๊ฐ’์„ pathparameter๋กœ ๋ฐ›์€ ๋ฌผํ’ˆ์— ๋Œ€ํ•œ ๋ชจ๋“  ์œ ์ €๊ฐ€ ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ ์ •๋ณด๋ฅผ ๋‹ด๋Š” ํ˜•์‹์œผ๋กœ ์ˆ˜์ •๋„ ๊ฐ™์ด ์ ์šฉํ•œ ์ฝ”๋“œ์ด๋‹ค.


Day 7~

์–ด์ œ ํฐ ํ‹€๋งŒ ์ž‘์„ฑํ•˜๊ณ  ์˜ค๋Š˜์€ ๊ฒฐ๊ณผ๊ฐ’์ด ์ œ๋Œ€๋กœ ๋‚˜์˜ค๋Š”์ง€

for๋ฌธ์„ ์ ์šฉํ•ด์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’๋“ค์ด ๋‚˜์˜ค๋Š”์ง€
๋‚˜๋จธ์ง€ success๋ฌธ๊ตฌ๊นŒ์ง€ ํ™•์ธํ•œ ํ›„์— ํ†ต์‹ ์™„๋ฃŒ ํ•œ ๋ชจ์Šต์„ ๋ณด์—ฌ์ฃผ๋„๋ก ํ•˜๊ฒ ๋‹ค.

๋ ์šฉ...
์•„๋‹ˆ postman์œผ๋กœ ์ž‘์„ฑํ–ˆ๋”๋‹ˆ, ๋‚ด๊ฐ€ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์€ ๋ฆฌ๋ทฐ ์ •๋ณด๊ฐ’์ด ์•„๋‹Œ SUCCESS๋งŒ ๋œจ๋‚˜ ํ–‡๋”๋‹ˆ..
์•„๋‹ˆ ๋นˆ ๋ฆฌ์ŠคํŠธ์— ์—ด์‹ฌํžˆ ๋‹ด์•„๋†“๊ณ ...post ๋ฉ”์†Œ๋“œ ์ž‘์„ฑํ• ๋•Œ ๋„ˆ๋ฌด success์ž‘์„ฑํ–‡๋˜๊ฑฐ์— ์ต์ˆ™ํ•ด์ ธ์„œ ๊ทธ๋Ÿฐ๊ฐ€ ์ž˜๋ชป ์ž‘์„ฑํ–‡๋˜๊ฒƒ์ด๋‹ค..
๋‹ค์‹œ...๋‚ด๊ฐ€ ์ „๋‹ฌํ•ด์ฃผ๊ณ  ์‹ถ์—ˆ๋˜ ๋ณ€์ˆ˜๋กœ ์ˆ˜์ •ํ•ด๋ณด์•˜๋‹ค...

์ž ๊ทผ๋ฐ,,๋˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด...์‰˜์—์„œ ์ž…๋ ฅํ–‡์„๋• ๋ถ„๋ช… ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ๋‚˜์™”๋Š”๋ฐ...์™œ....ํ•œ๊ฐœ์˜ ๋”•์…”๋„ˆ๋ฆฌ ์ •๋ณด๊ฐ€ ๋‚˜์˜ค๋Š”๊ฑธ๊นŒ์ธ๊ฐ€...์‹ถ์€๊ฑฐ๋‹ค,...ํ•˜....๋˜ ๋ญ๊ฐ€ ์ž˜๋ชป๋œ๊ฑธ๊นŒ,....

์ด๊ฒŒ ๋‚ด๊ฐ€ ์‰˜์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ถˆ๋Ÿฌ์˜จ review_list ๋“ค์ธ๋ฐ..์™œใ… ใ… 

๋‚ ์งœ ์ •๋ณด ํ‚ค ๋ฒจ๋ฅ˜๊ฐ’ ๋”ฐ๋กœ๋”ฐ๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒƒ -> ํ•œ๊บผ๋ฒˆ์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ณผ์ • ์ ์€ ๋‚ด๊บผ ๋ธ”๋กœ๊ทธ

ํ•ด๋‹น ๋ธ”๋กœ๊ทธ ๊ณผ์ •์—์„œ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๋Š” ์•„๋ž˜์— ์ž‘์„ฑํ•˜๋„๋ก
๋‚ ์งœ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„์— ์—ญ์‹œ๋‚˜ postman์„ ์ฐ์–ด๋ดค์ง€๋งŒ ๋ฆฌ๋ทฐ ์ •๋ณด ํ•˜๋‚˜๋งŒ ๋‚˜์˜จ๋‹ค...๊ทธ๋Ÿผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฆฌ๋ทฐ ์ •๋ณด๊ฐ€ ๋‚˜์˜ค๊ฒŒ ํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์„œ ํ•œ๋ฒˆ ๋” for๋ฌธ์„ ์ƒ๊ฐ์„ ํ•ด๋ด์•ผ ํ•˜๋‚˜ ๋ณด๋‹ค....ใ… 

 # reviews = Review.objects.filter(id=product_id) #--> ์ฟผ๋ฆฌ์…‹ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ
        review_list = []
        for review in reviews:  
            review_list.append(
                {
                    'date'         : review.created_at.strftime('%y/%m/%d'), # '21/12/16'
                    'kakao_id'     : review.user.kakao_id,
                    'product_name' : review.product.name,
                    'content'      : review.content,
                    'image_url'    : review.image_url,      
                }
            )
            return JsonResponse({'result':review_list}, status = 200)



์œ„์˜ ์ฝ”๋“œ์ž‘์„ฑํ•œ ์ƒํ™ฉ์ƒ for๋ฌธ์„ ๋‘๋ฒˆ์„ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ธ๋“ฏ ์‹ถ์Œ
ํ†ต์‹ ์„ ํ• ๋•Œ ํ•œ๊ฐœ์˜ ๋ฆฌ๋ทฐ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค๋Š”๊ฑด ๋ฐ˜๋ณต๋ฌธ์ด ํ•œ๋ฒˆ๋” ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ..์šฐ์„ ...๊ทธ๊ฑด ๋‚˜์ค‘์— ํ•ด๊ฒฐํ•˜๊ธฐ๋กœ...
์šฐ์„  ๋ฆฌ์ŠคํŠธ ์ปจํ”„๋ฆฌํ—จ์…˜์„ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์‹œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„ postman์œผ๋กœ ํ†ต์‹ ํ•ด๋ณด๋‹ˆ, ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋”•์…”๋„ˆ๋ฆฌ์˜ ์ •๋ณด๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•ด๋ณผ ์ˆ˜์ž‡๋‹ค.

class ReviewView(View):
    #@decorator
    def get(self, request, product_id)
    
  reviews = Review.objects.filter(product_id = product_id)
          review_list =[
              {
                  'date'         : review.created_at.strftime('%y/%m/%d'), # '21/12/16'
                  # 'date'         : review.created_at.strftime('%Y/%m/%d'), #'2021/12/16'
                  # 'date'         : review.created_at.strftime('%Y.%m.%d'), #'2021.12.16'
                  # 'date'         : review.created_at.strftime('%Y-%m-%d'), #'2021-12-16'
                  # 'date'         : review.created_at.strftime('%Y.%m.%d.%a'), #'2021.12.16.Thu'
                  # 'date'         : review.created_at.strftime('%Y.%m.%d.%A'), #'2021.12.16.Thursday'
                  'kakao_id'     : review.user.kakao_id,
                  'product_name' : review.product.name,
                  'content'      : review.content,
                  'image_url'    : review.image_url,      
              } for review in reviews]
          return JsonResponse({'result':review_list}, status=200)


profile
์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์›Œ๋‚˜๊ฐ€๋Š” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€