내일배움캠프 TIL 23/09/06

김민재·2023년 9월 6일
0

  • 정적파일(static file): css 파일, jpg 등 이미지 파일 또는 javascript 파일 같은 것 등이 정적 파일이 될 수 있다. 미리 서버에 저장해 놓은 파일이기 때문에 파일자체가 고정되어있고, 서비스 중에 변경되지 않는다.
  • media file(동적? 파일): static file과는 다르게 미리 저장되어 있지 않고 사용자가 업로드 하는 파일을 의미. 보통 개발하는 단계에서 관리하지 못하기 때문에 따로 분류하여 관리하게 된다.

또한 자바 공식 홈페이지에서는 'Serving files uploaded by a user during development', 'Serving static files during development' 항목에서 개발중에 파일을 저장하고 눈에 보이게 해줄 수 있는 명령어도 제시하고 있다. uploaded by a user가 미디어 파일에 해당하는 항목이고

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

url.py에서 저장경로를 지정해준다는 느낌으로 활용해주면 될 것 같다.


related_name에 대한 학습

  • 공통적으로 reverse relation (역방향 관계, 역방향 참조 등)의 방향성을 갖는다.
  • The related_name field lets you access foreign keys defined in your Django models backwards, and override the default _set field that Django creates for convenient access to your linked models. (해석이 제대로 되었다면 가장 잘 설명한 것일지도?)
    foreign key의 이름값을 지정해주지 않는다면 기본적으로 장고는 디폴트 값으로 _set으로 그 foreign key의 이름을 지정해준다. 그래서 어떤 사람은 하나의 클래스에서 일대다관계가 중복될 경우(bridge table?) 각각의 foreign key 값을 구분하기 위해서 related_name이 필수적이다 라고 설명하기도 하는 것 같다. 그리고 다른 이유로 이름값을 지정해주면 좀 더 직관적인 코딩이 가능하기 때문에 활용하는 것이 아닌가 하는 생각이 든다.

0개의 댓글