코드를 똑같이 붙여보았지만, 제대로 작동이 되지 않습니다.
detail.html과 update.html에서 pk를 제대로 넘겨주었습니다.
그런데 왜 관련 유저 정보가 뜨지 않는지 궁금합니다..
그리고 솔직히 어떻게 creationForm에서의 {{ boostrap_form form }} 만 넘겨주었을 뿐인데, 유저 정보가 들어가는지 원리를 제대로 모르겠습니다. 그냥 Django에서 View를 가져다 쓰기만해서 해당 원리에 대해 잘 이해가 가지 않습니다..
{% 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"),