inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Quyết định và Django! Tạo Pinterest bằng Django: Từ đầu đến triển khai

Thực hiện thay đổi mật khẩu bằng UpdateView

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

Đã giải quyết

340

wjddbstn023

4 câu hỏi đã được viết

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

Câu trả lời 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

72

1

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

0

49

1

decorator 관련질문입니다.

0

57

1

PasswordChangeView

0

98

2

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

1

133

1

실행에러질문

0

154

1

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

0

115

1

CacheBackend 관련 에러

0

176

1

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

0

325

1

53강 disallowedhost

0

340

2

502 Bad Gateway

0

472

0

mariadb 접근권한 오류

0

540

1

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

0

457

2

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

0

328

1

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

0

232

1

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

0

377

1

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

0

290

1

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

0

376

1

수업질문

0

392

1

COOP error

0

527

1

61강 Dockerfile error

0

596

1

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

0

489

1

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

0

417

1

58강 static 파일 적용 안됨

0

544

1