본문 바로가기

728x90
반응형

Python

(96)
Python: Deep copy , Shallow copy, # mutable, immutable # 깊은 복사, 얕은 복사 mutable vs immutable Python의 자료 형 중에 mutable 한 자료형과 immutable한 자료형이 있다. mutable은 값이 변할수 있는 자료형 immutable은 값이 변할수 없는 자료형 의미 immutable 자료형: int, float, str, bool, tuple + complex, frozenset, bytes mutable 자료형: list, set, dict + deque, bytearray, array.array * immutable 여부 확인해보기 특정 index를 잡아서 새로 값 할당시 아래와 같은 TypeError 발생시 immutable임을 확인 가능 a = bytes([1, 2, 3]) print(a) a[0] = 1 # TypeError: 'bytes'..
Python: del vs slice 성능 비교 from timeit import Timer s1 = ['a', 'b', 'c'] * 50000 s2 = ['a', 'b', 'c'] * 50000 t1 = Timer('del s1[10000:10003]', 'from __main__ import s1') t2 = Timer('s2[10000:10003]', 'from __main__ import s2') r1 = t1.timeit(number=10000000) r2 = t2.timeit(number=10000000) print("@@@@@") print(r1) print(r2) ######################################################## t1 = Timer('del s1[-4:]', 'from __main__ ..
FastAPI description FastAPI is a Python class that provides all the functionality for your API FastAPI is a class that inherits directly from Starlette. You can use all the Starlette functionality with FastAPI too. (https://fastapi.tiangolo.com/tutorial/first-steps) Pydantic All the data validation is performed under the hood by Pydantic, so you get all the benefits from it. And you know you are in good hands. Pyda..
Python: Union[bool, None] = None # Type hint Python Type hint from typing import Union class Item: name: str price: float is_offer: Union[bool, None] = None 1) is_offer: Union [bool, None] is_offer의 type을 bool이나 None으로 받겠다 2) is_offer: Union[bool, None] = None is_offer의 default type은 None으로 지정
Django: ckeditor # django-ckeditor # 텍스트 에디터 html 태그를 입혀주는 ckeditor를 django library로 구현 이용 라이브러리: https://github.com/django-ckeditor/django-ckeditor 설치 및 실행 pip install django-ckeditor INSTALLED_APPS 추가 # settings.py INSTALLED_APPS = [ ..., 'ckeditor', 'ckeditor_uploader'# 이미지 업로드를 위해 필요(browse server를 통해 embeding할 이미지 찾는데 쓰임 ] 이미지가 upload될 ckeditor path 설정 # settings.py CKEDITOR_UPLOAD_PATH = 'uploads/' 이미지 upload시 필요한 url 등록 및 이미지 등록 UI를..
Python Django: symmetrical option in ManyToMany # ManyToMany에서 한쪽만 관계 설정 # 테이블 자신을 참조하는 경우 Django에서 ManyToMany를 통해 Table을 연결하면, 예를 들어 A, B 테이블을 ManyToMany를 통해 연결시 A에서 B를 연결할 경우, B에서 A 방향으로도 자동 연결 그러나 A -> B를 연결 하더라도, B -> A로 자동연결이 되는 것을 원치 않는 상황도 존재 예를 들어 A 의 row에 대한 추천 상품으로 B의 row 들을 지정한다고 해보자. 그러나 B의 row에 대한 추천 상품은 A가 아닌 C를 지정하길 원한다고 하면, 기존 ManyToMany 방식으로 B의 추천상품을 불러올 시 A가 함께 가져와진다. 이는 ManyToMany의 기본 옵션이 상호 대칭적인 symmetrical = True 이기 때문 따라서 ManyToMany설정시 symmetrical = False 옵션으로 주면..
Django: HTTP DELETE Method # HTTP # DELETE, PUT # GET, POST Django에서 HTTP request는 내장기능으로 GET, POST만 지원하고 DELETE, PUT은 지원하지 않는다. print(dir(request)) 위와 같이 찍어보면 ['COOKIES', 'FILES', 'GET', 'LANGUAGE_CODE', 'META', 'POST', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__',..
Python: Celery with Django Django 프로젝트 내에 Celery를 두고 연계해서 사용하기 * Install redis 설치(ubuntu 기준) $ sudo apt update $ sudo apt install redis-server 부팅시 redis 시작 $ sudo systemctl enable redis-server celery[redis] 설치 $ pip install celery[redis] * Celery - Django 설정 1. celery.py Django의 settings.py와 같은 경로에 celery.py 를 생성 (settings/local.py 또는 settings/base.py등, 환경에 따라 나눈 경우 settings 폴더와 같은 경로에 두면 됨) import os from celery import C..

728x90
반응형