inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

UpdateView를 이용한 비밀번호 변경 구현

Update View 상에서 아이디를 제대로 불러오지 않습니

해결된 질문

339

wjddbstn023

작성한 질문수 4

1

 

 

코드를 똑같이 붙여보았지만, 제대로 작동이 되지 않습니다. 

detail.html과 update.html에서 pk를 제대로 넘겨주었습니다.

그런데 왜 관련 유저 정보가 뜨지 않는지 궁금합니다..

그리고 솔직히 어떻게 creationForm에서의 {{ boostrap_form form }} 만 넘겨주었을 뿐인데, 유저 정보가 들어가는지 원리를 제대로 모르겠습니다. 그냥 Django에서 View를 가져다 쓰기만해서 해당 원리에 대해 잘 이해가 가지 않습니다..

 

 

 

 

 
update.html
 
{% extends 'base.html' %} {% load bootstrap4 %} {% block content %}

<div class="Container main_content_div">
<div class="mb-4">
<h4>Update Info</h4>
</div>
<form action="{% url 'accountapp:update' pk=user.pk %}" method="post">
{% csrf_token %} {% bootstrap_form form %}
<input type="submit" class="btn btn-dark rounded-pill col-6 mt-3" />
</form>
</div>

{% endblock %}
 
 
detail.html
 
{% extends 'base.html' %} {%block content%}
<div class="main_content_div">
<p>{{ access_user.date_joined }}</p>

<h2>{{ access_user.username }}</h2>

{% if access_user == user %}
<a href="{% url 'accountapp:update' pk=user.pk %}">
<p>Update Info</p>
</a>
{% endif %}
</div>
{% endblock%}

view.py

class DetailView(DetailView):
model = User
context_object_name = 'access_user'
template_name = 'accountapp/detail.html'
class UpdateView(CreateView):
model = User
form_class = AccountUpdateForm
success_url = reverse_lazy('accountapp:hello')
template_name = 'accountapp/update.html'
 
 
urls.py
path('update/<int:pk>', UpdateView.as_view(), name="update"),

python django docker

답변 1

0

Hyong Sok Park

안녕하세요.
질문 확인했습니다.

아무래도 클래스 상속에 문제가 있어 보입니다.

 

class DetailView(DetailView):
model = User
context_object_name = 'access_user'
template_name = 'accountapp/detail.html'
class UpdateView(CreateView):
model = User
form_class = AccountUpdateForm
success_url = reverse_lazy('accountapp:hello')
template_name = 'accountapp/update.html'
 
올려주신 내용중 위 코드를 보면,
UpdateView인데 CreateView 를 상속받아 구성하고 있는 것을 볼 수 있습니다.
해당 코드를 UpdateView 로 수정하신 이후 진행해보시고,
그럼에도 문제가 생긴다면 계속 질문 남겨주시길 바랍니다.
 
감사합니다-

강의에 나왔던 js 파일이 깃허브에 없습니다

1

67

1

모바일 디버깅, 반응형 레이아웃 4분48초 질문

0

45

1

decorator 관련질문입니다.

0

51

1

PasswordChangeView

0

94

2

로그아웃뷰 작동 관련 (2025년 3월)

1

130

1

실행에러질문

0

147

1

@login_required 데코레이터 사용시 리다이렉트는 어디서 참조하여 설정을 하는걸까요?

0

111

1

CacheBackend 관련 에러

0

171

1

21강 CreateView를 통한 회원가입 구현 질문

0

321

1

53강 disallowedhost

0

335

2

502 Bad Gateway

0

469

1

mariadb 접근권한 오류

0

533

2

logout 후 빈 화면으로 이동합니다 ㅠㅠ

0

451

2

로그아웃 후 빈 화면으로 이동

0

325

1

서버 운영 관련 질문 드립니다.(Unable to retirve...)

0

229

1

static/base.css파일을 인식을 못합니다

0

375

1

안녕하세요 19강 디버깅 설정 질문있습니다.

0

288

1

프로필 update편 질문있습니다.

0

373

1

수업질문

0

389

1

COOP error

0

524

1

61강 Dockerfile error

0

593

1

static안에 base.css 에서 정의한 클래스가 적용되지 않습니다.

0

487

1

static 파일 중 jpg 파일만 로드 불가

0

413

1

58강 static 파일 적용 안됨

0

541

1