[TIL_Carrotww] 59 - 22/11/24

μœ ν˜•μ„Β·2022λ…„ 11μ›” 24일
0

TIL

λͺ©λ‘ 보기
69/138
post-thumbnail

πŸ“Carrotww의 μ½”λ”© 기둝μž₯

🧲 pagination

πŸ” cursor pagination 방식을 μ“°κ³  μ‹Άμ—ˆμ§€λ§Œ ꡳ이 그럴 ν•„μš” μ—†λ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜λ‹€ 일단 cursor 방식은 λ‚΄λΆ€μ μœΌλ‘œ ordering ν•¨μˆ˜κ°€ μ‘΄μž¬ν•˜μ—¬μ„œ ν•΄λ‹Ή ν•¨μˆ˜λ₯Ό μ»€μŠ€ν…€ν•΄μ£ΌλŠ”κ²ƒμ΄ μ•„λ‹ˆλΌλ©΄ many to many field λ‘œλŠ” μ •λ ¬ν•˜μ§€ λͺ»ν•  뿐 μ•„λ‹ˆλΌ λ“€μ΄λŠ” μ‹œκ°„μ— λΉ„ν•΄ 효율이 λ„ˆλ¬΄...
ν”„λ‘œμ νŠΈμ— μ›ν•˜λŠ”κ±΄ μ»€μ„œ λ°©μ‹μœΌλ‘œ μ•žλ’€λ‘œ νŽ˜μ΄μ§€λ₯Ό λ„˜κΈ°λŠ” 것인데 pagenumber λ°©μ‹μœΌλ‘œ ν•˜μ—¬λ„ μΆ©λΆ„νžˆ κ°€λŠ₯ν•  것 κ°™κ³  javascript μ²˜λ¦¬ν•΄μ£Όλ©΄ λ˜λŠ”κ±°λ‹ˆκΉŒ...γ…Ž

pagenumberpagination도 next κ°’κ³Ό previous 값이 같이 λ‚ λΌμ˜€κΈ° λ•Œλ¬Έμ— λ°”λ‘œ μ‚¬μš©ν•˜λ €κ³  ν•œλ‹€ γ…Žγ…Ž

🧲 matplotlib imread

πŸ” ν•œκΈ€ 파일이 λ“€μ–΄μ˜€λ©΄ ν•΄λ‹Ή νŒŒμΌμ„ λͺ» μ½μ–΄μ˜€λŠ” μ΄μŠˆκ°€ μžˆμ–΄ μ°Ύμ•„λ³΄μ•˜λ‹€.
λ‚΄ λͺ¨λΈμ€ matplotlib.pylab λ₯Ό μ‚¬μš©μ€‘μΈλ° μ°Ύμ•„μ„œ λ‚˜μ˜€λŠ”κ±΄ open cv2 밖에 μ—†μ—ˆλ‹€... κ·Έλž˜μ„œ 일단 μ•„λž˜μ™€ 같이 λ°”κΎΈμ–΄ λ³΄μ•˜λ‹€.

temp_content_image = np.fromfile(content_image, np.uint8)
temp_style_image = np.fromfile(content_image, np.uint8)

content_image = cv2.imdecode(temp_content_image, cv2.IMREAD_UNCHANGED)
style_image = cv2.imdecode(temp_style_image, cv2.IMREAD_UNCHANGED)

μ—­μ‹œ ν•œκΈ€ 경둜λ₯Ό λͺ» μ°Ύμ•„κ°„λ‹€.
frontλ‚˜ backμ—μ„œ νŒŒμΌμ€ json ν˜•νƒœλ‘œ 이미지 객체 ν˜•μ‹μœΌλ‘œ λ‚ λΌμ˜€κΈ° λ•Œλ¬Έμ— ν•΄λ‹Ή 파일λͺ…을 λ°”κΏ€ 수 μžˆμ„μ§€λŠ” λͺ¨λ₯΄κ² μœΌλ‚˜ ν•΄λ‹Ή 파일 객체λ₯Ό κ±΄λ“œλ¦¬λŠ” 건 바보짓인것 κ°™μ•„ django db에 μ €μž₯될 λ•Œ μ²˜λ¦¬ν•΄μ£ΌκΈ°λ‘œ ν–ˆλ‹€.

🧲 django utils.py

πŸ” image ν•„λ“œμ˜ 이름 μ €μž₯ μ‹œ uuid둜 μ €μž₯

  • utils.py
import os
from uuid import uuid4

def rename_imagefile_to_uuid(instance, filename):
        upload_to = f'temp/'
        ext = filename.split('.')[-1]
        uuid = uuid4().hex

        if instance:
            filename = '{}_{}.{}'.format(uuid, instance, ext)
        else:
            filename = '{}.{}'.format(uuid, ext)

        return os.path.join(upload_to, filename)

μœ„μ™€ 같이 적고
models.py의 image ν•„λ“œλ₯Ό μ‚΄μž‘ μˆ˜μ •ν•΄μ€€λ‹€.

temp_image = models.ImageField(blank=False, upload_to=rename_imagefile_to_uuid)

μœ„μ™€ 같이 upload_to 뒀에 ν•΄λ‹Ή ν•¨μˆ˜λ₯Ό import ν•΄μ™€μ„œ μ‚¬μš©ν•˜λ©΄ utilsμ—μ„œ 지정해쀀 upload_to 경둜둜 잘 λ“€μ–΄κ°„λ‹€.

🧲 μž‘μ„€

πŸ” 뭐 μ΄λ ‡κ²Œ μ“°κ³  싢은 κΈ°λŠ₯은 찾아도 잘 μ•ˆλ‚˜μ˜€κ³  죄닀 μ˜€λ²„λΌμ΄λ”© ν•˜κ±°λ‚˜ μ»€μŠ€ν…€ ν•΄μ•Όν•΄μ„œ μ¨μ•Όν•˜λŠ”μ§€ λͺ‡ 개 κΈ°λŠ₯ μ°Ύκ³  μˆ˜μ •ν•˜λŠ”λ°λ§Œ λ°˜λ‚˜μ ˆμ΄ κ±Έλ¦° 것 κ°™λ‹€. django λ‚΄λΆ€λ₯Ό λœ―μ–΄ λ³Ό 수 μžˆμ–΄μ„œ μ’‹μ•˜μ§€λ§Œ κ·Έλž˜λ„ μ°ΎλŠ” κΈ°λŠ₯의 λͺ¨λ“ˆμ΄λ‚˜ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ λ‹€ μ‘΄μž¬ν–ˆμœΌλ©΄.. ν•˜λŠ”...
μ•„λ¬΄νŠΌ 였늘 끝!

profile
Carrot_hyeong

0개의 λŒ“κΈ€