인프런 커뮤니티 질문&답변

Hj S님의 프로필 이미지
Hj S

작성한 질문수

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

Profileapp 마무리

에러

작성

·

650

1

밑에 부분 입력시, 에딧 부분에서 에러가 납니다.

해결방법을 알려주실수 있을까요?

에러내용:
Reverse for 'update' with keyword arguments '{'pk': ''}' not found. 1 pattern(s) tried: ['profiles/update/(?P<pk>[0-9]+)$']

<form action="{% url 'profileapp:update' pk=target_profile.pk %}"

답변 2

3

Hyong Sok Park님의 프로필 이미지
Hyong Sok Park
지식공유자

안녕하세요!

질문 잘 읽어보았습니다.

해당 내용은 target_profile 이 없는 객체라, 해당 profile 의 pk를 불러오지 못하는 현상으로 보입니다.

ProfileUpdateView를 작성하면서 생긴 문제로 보이는데,

ProfileUpdateView 을 작성하면서 template 내에서 사용될 객체의 이름을 정하는 부분,

그러니까 context_object_name 을 제대로 target_profile로 설정해두셨는지 확인해보시는게 좋을것 같습니다.

오타가 있을수도 있고, 다른 곳에서 코드를 복사해 와서 target_user 와 같이 다르게 설정되어 있을지도 모릅니다.

Reverse for 'update' with keyword arguments '{'pk': ''}'

이 부분을 자세히 보게 되면

'pk ': 

이부분에 아무값이 안 들어가는 것을 볼수 있는데, 이 값이 제대로 나오지 않는다는건,

template 내에서 target_profile 이라는 것이 None 이기 때문에 그렇습니다.

target_profile이 제대로 설정되어 사용할 수 있는 상태인지 확인해주세요!

혹여 그래도 문제가 생긴다면, 다시 질문 남겨주시길 바랍니다.

감사합니다!

0

에러 어떻게 해결하셨나요??

저는 ProfileUpdateView에서 success_url을 'profileapp:update'로 했어서 안 되는거였나봐요

accountapp 경로로 바꿨더니 잘 됩니다! 이것도 한번 확인해보시면 좋을거 같아요

Hj S님의 프로필 이미지
Hj S

작성한 질문수

질문하기