20210928~20210929 TIL

20210928~20210929 TIL

* 공부를 한 이후 복습 목적으로 작성된 글이므로, 오류가 있을 수 있습니다.

1.Django

20210928

<작정하고 장고! pinterest 구현하기> 강좌를 들으면서, 개인 프로필 페이지를 구성하는 profileapp 을 구현하였다. 구현하는 과정 중에 model과 migrate를 통한 DB저장, view 설정에 대한 메카니즘을 이제는? 이해할 수 있게되었다. 이 과정에서 알게 된 것은 이전에 만들었던 계정 account와 profile은 1:1, 즉, 한 계정이 하나의 프로필만을 가질 수 있는 형태의 modeling이 필요하다. class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile'​

accountapp을 통해 생성된 user와 profile을 연결하기 위해 models.OneToOneField(1:1 관계)를 설정하였고,

계정이 삭제되면 profile도 자동적으로 삭제되는 on_delete를 사용했다.

userCreationForm은 django에서 기본적으로 제공하는 form 형식이다. 그러나 model의 형태에 맞춰서 form을 구성할 수 있도록 Model Form을 사용할 수 있다.

20210929

profileapp의 updateview, deleteview 를 구현하는 방법을 배웠다. 이전에 profile 사진 업로드를 위해 settings.py에 Media_root를 설정해둔 것이 있는데, 이 media 파일들을 디렉토리에 자동으로 저장하고, 페이지에 media 파일들을 띄우기 위해 enctype 기능을 추가했다.

form action="{% url 'profileapp:update' pk=targetProfile.pk %}" method ="post" enctype="multipart/form-data"> {% csrf_token %}

게시글에 해당하는 articleapp의 CRUD 작업 구현을 직접 실습해보았다. 이전 accountapp, profileapp 의 방식대로 구현해보았지만, model이 가진 key를 서버가 식별하는 것을 이해하는데 힘이 들었고, 그 이해를 바탕으로 코드를 구현하는 게 무척 힘들었다. 강의를 보면서 반복적으로 익혀나가야겠다.

from http://cozzilzzil2.tistory.com/15 by ccl(A) rewrite - 2021-10-01 17:00:52