π cursor pagination λ°©μμ μ°κ³ μΆμμ§λ§ κ΅³μ΄ κ·Έλ΄ νμ μλ€λ κ²μ κΉ¨λ¬μλ€ μΌλ¨ cursor λ°©μμ λ΄λΆμ μΌλ‘ ordering ν¨μκ° μ‘΄μ¬νμ¬μ ν΄λΉ ν¨μλ₯Ό 컀μ€ν ν΄μ£Όλκ²μ΄ μλλΌλ©΄ many to many field λ‘λ μ λ ¬νμ§ λͺ»ν λΏ μλλΌ λ€μ΄λ μκ°μ λΉν΄ ν¨μ¨μ΄ λ무...
νλ‘μ νΈμ μνλ건 컀μ λ°©μμΌλ‘ μλ€λ‘ νμ΄μ§λ₯Ό λκΈ°λ κ²μΈλ° pagenumber λ°©μμΌλ‘ νμ¬λ μΆ©λΆν κ°λ₯ν κ² κ°κ³ javascript μ²λ¦¬ν΄μ£Όλ©΄ λλκ±°λκΉ...γ
pagenumberpaginationλ next κ°κ³Ό previous κ°μ΄ κ°μ΄ λ λΌμ€κΈ° λλ¬Έμ λ°λ‘ μ¬μ©νλ €κ³ νλ€ γ γ
π νκΈ νμΌμ΄ λ€μ΄μ€λ©΄ ν΄λΉ νμΌμ λͺ» μ½μ΄μ€λ μ΄μκ° μμ΄ μ°Ύμ보μλ€.
λ΄ λͺ¨λΈμ 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μ μ μ₯λ λ μ²λ¦¬ν΄μ£ΌκΈ°λ‘ νλ€.
π 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 λ΄λΆλ₯Ό λ―μ΄ λ³Ό μ μμ΄μ μ’μμ§λ§ κ·Έλλ μ°Ύλ κΈ°λ₯μ λͺ¨λμ΄λ λΌμ΄λΈλ¬λ¦¬κ° λ€ μ‘΄μ¬νμΌλ©΄.. νλ...
μλ¬΄νΌ μ€λ λ!