Get_success_url
ProfileCreateView에서 프로필을 만들고 나면, detail로 가는게 자연스러우니 detail로 가게 해주자. 근데 success_url을 수정해줘도 detail로 가지 않는데, success는 pk같은 추가적인데이터를 줄 수 없다. 하지만 detail view는 pk를 추가적으로 받아야 볼 수 있으므로, 내부 메소드를 수정해줄 필요가 있다.
def get_success_url(self):
return reverse('accountapp:detail', kwargs={'pk':self.object.user.pk})
Python
복사
object가 가르키는것은 Profile models이다. 즉 profile의 user의 pk를 리턴해준다
Detail View 보안
현재 작성한 코드로는 로그인을 하지 않아도 프로필을 변경, 탈퇴등의 링크가 활성화 되어있었는데, 이를 없애준다.
{% if target_user == user %}
Python
복사
를 추가해주면 된다.