본문 바로가기

728x90
반응형

전체 글

(256)
이미지 업로드: Django ImageField # Ajax Django 파일이 저장될 디렉토리와, 그 디렉토리를 가리킬 URL 설정 settings.py import os MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' urls.py from django.conf import settings from django.conf.urls.static import static urlpatterns = [ ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) Pillow 설치 pip install pillow pillow를 설치 하지 않으면 아래 모델 생성에서 ImageField를 사용하지 못하는 에러가 발생 model 생성 fro..
Django Template filter: {% with %} Django template에서 필터와 필터를 중복해서 써야되는 경우들이 있다. 예를 들어서 mathfilters를 이용해서 연산을 하고, 거기에 특정 리스트의 길이를 더하고 싶을때 |length 필터를 더해줘야 하는데, 이럴 때 원하는 대로 작동을 안한다. 그때 {% with %} 로 원하는 값을 먼저 뽑아와서 용해주면 된다 example 1) {{commits.number|mul:3|add:commits|length}} # X {% with commits|length as commits_length %} # O {{commits.number|mul:3|add:commits_length}} {% endwith %} example2) {% with name|add:"Kim" as re_name %} {%..
STATIC_ROOT vs STATICFILES_DIRS Django에서는 static 파일과 관련한 설정에는 5가지가 있고 STATIC_URL STATIC_ROOT STATICFILES_DIRS STATICFILES_STORAGE STATICFILES_FINDERS 그 중 아래 3가지가 일반적으로 많이 사용이 됩니다. STATIC_URL STATIC_ROOT STATICFILES_DIRS STATIC_URL의 경우, static 경로에 접근하기 위해 설정해주는 url이라 개념적으로 헷갈릴게 거의 없는데, STATIC_ROOT와 STATICFILES_DIRS 는 둘다 static 파일들을 다룬다는 점에서 헷갈리게 합니다. 결론적으로만 말하면 STATIC_ROOT는 배포 단계(deployment)에서 필요하고 STATICFILES_DIRS는 개발 단계(devel..
Python: insert() # insert argument in list list의 원하는 index에 값을 넣어주는 함수 insert(index, argument) ex) list_1 = [1,2,3] list_1.insert(2, 10) print(list_1) list_1.insert(0,('a,','b')) print(list_1) list_1.insert(2,['가','나']) print(list_1) list_1.insert(2,{'!', '@'}) print(list_1) # output [1, 2, 10, 3] [('a,', 'b'), 1, 2, 10, 3] [('a,', 'b'), 1, ['가', '나'], 2, 10, 3] [('a,', 'b'), 1, {'!', '@'}, ['가', '나'], 2, 10, 3]
Python: json.loads() # string to dict # doble quotes # Boolean python에서 dictionary 모양으로 되어 있는 string을 dictionary 타입으로 바꿔주는 방법 중에 json이 있습니다. import json # Assume that dict_shaped_string string_to_dict = json.loads(dict_shaped_string) print(type(string_to_dict) # output: 'dict' 그런데 json.loads를 이용할 때 주의할 점이 있습니다. 대표적으로 - ' 이 아니라 " 을 써야하는 점(double quote) - Javascript 형태로 boolean을 써야하는 점입니다.(True/False: X, true/false: O) 구체적인 예제코드로 살펴보겠습니다. import json sample_1..
Docker container 자동 시작 docker run 실행시 --restart 옵션 추가 --restart no: (default) 재시작하지 않는다. --restart always: 항상 재시작, 수동으로 종료시 Docker가 재시작되면 같이 재시작 --restart on-failure: 에러로 인해 종료시 재시작 --restart unless-stopped: container를 stop 시키기 전까지 항상 재시작 시킨다
docker run, stop, start, restart docker run - dorker create, docker start 명령어를 함께 실행하는 것과 마찬가지 따라서 docker stop 멈춘 container를 다시 실행할 때 docker run으로 실행하는게 아니라 docker start로! docker restart로는 작동중인 container를 바로 다시 시작! (stop + start)
Dockerfile # RUN # CMD # ENTRYPOINT RUN, CMD, ENTRYPOINT RUN: 컨테이너가 생성되면서 실행될 command: ex) pip3 install -r requirements.txt apt-get update \ apt-get install PACKAGE CMD, ENTRYPOINT: 컨테이너가 실행되면서 실행될 command 차이점 CMD는 컨테이너를 실행할 때 별도의 command가 입력되면 CMD 입력한 명령어가 아니 실행시 command가 실행 즉, CMD는 컨테이너 실행시 실행될 default 명령어이지만, 실행할 때 변동될 수 있음 ENTRYPOINT는 컨테이너 실행시 반드시 실행되는 명령어

728x90
반응형