Skip to content

Commit 5b9e0d5

Browse files
committed
[feat] 사진 업로드 할 때도 oliveyoung 인기상품 추천 보이게 설정
1 parent bb1f55e commit 5b9e0d5

File tree

3 files changed

+12
-93
lines changed

3 files changed

+12
-93
lines changed

moodico/recommendation/views.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import logging
77
logger = logging.getLogger(__name__)
88
from sklearn.metrics.pairwise import cosine_similarity
9-
from moodico.products.views import get_top_liked_products
109

1110
# Create your views here.
1211
# def my_item_recommendation(request):
@@ -24,9 +23,8 @@
2423
# }
2524
# )
2625

27-
28-
def my_item_recommendation(request):
29-
# JSON 데이터를 파싱 (실제로는 DB나 API에서 받아올 수 있음)
26+
def get_recommendation_list():
27+
# JSON 데이터를 파싱 (실제로는 DB나 API에서 받아올 수 있음)
3028
products_path = 'static/data/advertise_products.json'
3129
with open(products_path, 'r', encoding='utf-8') as f:
3230
raw_data = json.load(f)
@@ -49,7 +47,10 @@ def get_tag(flags):
4947
}
5048
for item in raw_data
5149
]
50+
return search_results
5251

52+
def my_item_recommendation(request):
53+
search_results = get_recommendation_list()
5354
return render(request, 'upload/upload.html', {
5455
"search_results": search_results
5556
})

moodico/upload/views.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
import requests
33
from django.http import HttpResponse
44
from moodico.upload.forms import UploadForm
5+
from moodico.recommendation.views import get_recommendation_list
56

67
# Create your views here.
78
# 이미지 업로드
89
def upload_color_image(request):
10+
search_results = get_recommendation_list()
911
if request.method == 'POST':
1012
form = UploadForm(request.POST, request.FILES)
1113
if form.is_valid():
@@ -19,11 +21,12 @@ def upload_color_image(request):
1921
upload.save()
2022
return render(request, 'upload/upload.html', {
2123
'form': UploadForm(),
22-
'uploaded_image_url': upload.image_path.url
24+
'uploaded_image_url': upload.image_path.url,
25+
'search_results':search_results,
2326
})
2427
else:
2528
form = UploadForm()
26-
return render(request, 'upload/upload.html', {'form': form})
29+
return render(request, 'upload/upload.html', {'form': form, 'search_results': search_results})
2730

2831
# upload.html에서 검색한 제품의 이미지를 가져옴
2932
def proxy_image(request):

templates/upload/upload.html

Lines changed: 2 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,7 @@ <h3>mood 기반 추천 제품</h3>
125125
<div class="recommendations-section">
126126
<h3>추천 제품</h3>
127127
<div class="product-list">
128-
{% if search_results %}
129-
{% for product in search_results %}
128+
{% for product in search_results %}
130129
{% comment %} <div
131130
class="product-card"
132131
data-product-id="{{ product.brand|slugify }}-{{ product.name|slugify }}-{{ product.price|slugify }}-search{{ forloop.counter }}"
@@ -149,91 +148,7 @@ <h3>추천 제품</h3>
149148
✨ 추천받기
150149
</button>
151150
</div>
152-
{% endfor %}
153-
{% else %}
154-
<div
155-
class="product-card"
156-
data-product-id="peripera-glow-check-blusher-18000"
157-
>
158-
<button class="like-button" title="좋아요"></button>
159-
<span class="like-count">0</span>
160-
<img
161-
src="/static/images/test.jpg"
162-
alt="페리페라 글로우 체크 블러셔"
163-
/>
164-
<div class="product-info">
165-
<div class="brand">PERIPERA <span class="tag">glossy</span></div>
166-
<div class="name">글로우 체크 블러셔</div>
167-
<div class="price">18,000원</div>
168-
</div>
169-
<button class="recommendation-button">✨ 추천받기</button>
170-
</div>
171-
<div
172-
class="product-card"
173-
data-product-id="etude-house-coating-tint-lip-12000"
174-
>
175-
<button class="like-button" title="좋아요"></button>
176-
<span class="like-count">0</span>
177-
<img
178-
src="{% static 'images/test.jpg' %}"
179-
alt="에뛰드하우스 코팅 틴트 립"
180-
/>
181-
<div class="product-info">
182-
<div class="brand">ETUDE HOUSE <span class="tag">glossy</span></div>
183-
<div class="name">코팅 틴트 립</div>
184-
<div class="price">12,000원</div>
185-
</div>
186-
<button class="recommendation-button">✨ 추천받기</button>
187-
</div>
188-
<div
189-
class="product-card"
190-
data-product-id="innisfree-natural-eyeshadow-22000"
191-
>
192-
<button class="like-button" title="좋아요"></button>
193-
<span class="like-count">0</span>
194-
<img
195-
src="{% static 'images/test.jpg' %}"
196-
alt="이니스프리 내추럴 아이쉐도우"
197-
/>
198-
<div class="product-info">
199-
<div class="brand">INNISFREE <span class="tag">matte</span></div>
200-
<div class="name">내추럴 아이쉐도우</div>
201-
<div class="price">22,000원</div>
202-
</div>
203-
<button class="recommendation-button">✨ 추천받기</button>
204-
</div>
205-
<div class="product-card" data-product-id="clio-earth-on-eyeshadow-32000">
206-
<button class="like-button" title="좋아요"></button>
207-
<span class="like-count">0</span>
208-
<img
209-
src="{% static 'images/test.jpg' %}"
210-
alt="클리오 어스 온 아이쉐도우"
211-
/>
212-
<div class="product-info">
213-
<div class="brand">CLIO <span class="tag">matte</span></div>
214-
<div class="name">어스 온 아이쉐도우</div>
215-
<div class="price">32,000원</div>
216-
</div>
217-
<button class="recommendation-button">✨ 추천받기</button>
218-
</div>
219-
<div
220-
class="product-card"
221-
data-product-id="romand-beige-matte-lipstick-15000"
222-
>
223-
<button class="like-button" title="좋아요"></button>
224-
<span class="like-count">0</span>
225-
<img
226-
src="{% static 'images/test.jpg' %}"
227-
alt="롬앤 베이지 매트 립스틱"
228-
/>
229-
<div class="product-info">
230-
<div class="brand">ROMAND <span class="tag">matte</span></div>
231-
<div class="name">베이지 매트 립스틱</div>
232-
<div class="price">15,000원</div>
233-
</div>
234-
<button class="recommendation-button">✨ 추천받기</button>
235-
</div>
236-
{% endif %}
151+
{% endfor %}
237152
</div>
238153
</div>
239154
</div>

0 commit comments

Comments
 (0)