đ Django ě´ëŻ¸ě§ ě˛ëŚŹ
from django.test import TestCase import torch import cv2 # Create your tests here. def change_img(file_path): # file_path -> img_upload model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True) fixed_path = f'./media/images/{file_path}' changed_file_store_path = f'./media/images/after_image{file_path}' origin_img = cv2.imread(fixed_path) changed_img = cv2.imread(fixed_path) results = model(origin_img) result = results.pandas().xyxy[0].to_numpy() for i in range(len(result)): cv2.rectangle(changed_img, (int(results.xyxy[0][i][0].item()), int(results.xyxy[0][i][1].item())), (int(results.xyxy[0][i][2].item()), int(results.xyxy[0][i][3].item())), (0,255,255)) cv2.imwrite(changed_file_store_path, changed_img) # filename, changed_img category_list = list({x[6] for x in result}) changed_img_file_path = f'after_image{file_path}' return changed_img_file_path, category_list
djangoě tweet appě ë§ë¤ě´ tests.py íěźě í¨ě뼟 ëŁě´ ě´ëݏě§ě ę°ě˛´ëĽź ęˇ¸ë ¤ěŁźë í¨ě뼟 ë§ ě§ë´¤ë¤
clientę° ěŹě§ě´ëݏě§ëĽź ěŹëŚŹëŠ´ í´ëš ě´ëݏě§ě ě´ëŚě ę°ě ¸ě /media/images 경ëĄëĄ ěŹě§ ě´ëŚěźëĄ ě ěĽě íë¤.
ě¤ëłľě˛ëŚŹë ę¸°ëĽ ęľŹíě ěźë¨ í´ëł´ę¸° ěí´ě í´ěŁźě§ ěěë¤. djangoěěë ëěźí ě´ëŚě´ ë¤ě´ě¤ëŠ´ ěěě ě´ëŚě ëłę˛˝íěŹ ě ěĽě íë¤.
upload_img = request.FILES['upload_img'] tweet.upload_img = upload_img # tweetě db뼟 ë´ě ëłě tweet.save()
Viewě POST ëśëśě ěě ę°ě´ request.FILES ëĄ ë°ěěź íë¤.
<form action="{% url 'home' %}" enctype="multipart/form-data" id="imageUploadForm" method="POST"> <input id="id_image" type="file" name="upload_img" ></input>
ě ě˝ëë ě´ëݏě§ëĽź ë°ě ě ëŹí´ěŁźë front ëśëśě ěŹěŠí í꡸ě ěěąë¤
đ í ě¤í¸ěŠěźëĄ í íë, íšě 모ë¸ě 모ë value ę°ě GETě íľíěŹ ě ëŹí´ ě¤ ë
temp = TweetModel.objects.get() temp = TweetModel.objects.all() temp = TweetModel.objects.filter()
ěě ę°ě í¨ěë°ě ëŞ°ëź ëíě ę˛Şęł ěěëë° ě°žěëł´ë
temp = TweetModel.objects.values('keyę°')
values ëźë í¨ě뼟 ě°žěě ë돴 íëłľíë¤ ă ă all()ëĄ ë¤ ę°ě ¸ěě íëë§ë¤ ëë ě¤ëźęł íěëë° ... ă ă
ęˇźë° ě´ę˛ ëě´ ěëë¤.
í´ëš 모ë¸ě íëę° 3ę° ěëë° ëëtemp = TweetModel.objects.values('upload_img') temp2 = TweetModel.objects.values('upload_label_img') temp3 = TweetModel.objects.values('temp3') result = zip(temp, temp2, temp3)
ęłź ę°ě ěěźëĄ 3ę°ëĽź ë§ë¤ě´ resultě íŠěłě ě ëŹí´ěŁźěë¤.
django templates ěě ě ë°ěě ëěíěŹ ě ëë꾏ë ë§ěĄąíęł ěěëë°temp = TweetModel.objects.values()
ěě ę°ě´ ě°ëŠ´ ęˇ¸ëĽ ëŞ¨ë íëě value ę°ě key ę°ęłź ę°ě´ dict íěěźëĄ ě ę°ě ¸ě¤ë깸 ěěë¤ ă ă ă
ëí values() 뼟 ěŹěŠí늴 dict()ëĄ value() ë list() ëĄ ę°ě ě ëŹí´ 죟ë ëě¤ě ě¸ěźě´ ěě ę˛ ę°ë¤.