20210928~20210929 TIL

2021. 10. 1. 16:28

 

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를 서버가 식별하는 것을 이해하는데 힘이 들었고, 그 이해를 바탕으로 코드를 구현하는 게 무척 힘들었다. 강의를 보면서 반복적으로 익혀나가야겠다. 

'TIL' 카테고리의 다른 글

20211005 TIL  (0) 2021.10.06
20211004 TIL  (0) 2021.10.04
20210920~20210926 TIL  (0) 2021.09.28
20210918 TIL  (0) 2021.09.18
20210913 TIL  (0) 2021.09.13

BELATED ARTICLES

more