본문 바로가기

매일 TIL

[내일배움캠프 9-4일] 팀프로젝트 프로필 사진 구현

프로필 사진을 선택할 수 있도록 구현

@require_http_methods(["GET", "POST"])
def update(request):
    if request.method == "POST":
        form = CustomUserChangeForm(request.POST, request.FILES, instance=request.user)
        if form.is_valid():
            form.save()
            return redirect("users:profile")
    else:
        form = CustomUserChangeForm(instance=request.user)
    context = {
        "form": form,
    }
    return render(request, "accounts/update.html", context)

수정 버튼 안에서 바꿀 수 있도록 update 뷰를 수정함.

{% extends "base.html" %}
{% load static %}

{% block content %}
<h1>{{ request.user.username }}의 프로필 페이지</h1>

{% if request.user.profile_image %}
    <img src="{{ request.user.profile_image.url }}" alt="User Profile Image" width="150">
{% else %}
    <img src="{% static 'users/user.png' %}" alt="Default Profile Image" width="150">
{% endif %}

<h3>아이디: {{ request.user.username }}</h3>

<a href="{% url 'accounts:update' %}">회원정보수정</a>

<form action="{% url 'accounts:delete' %}" method="POST">
    {% csrf_token %}
    <input type="submit" value="회원탈퇴">
</form>
{% endblock content %}

오늘의 회고

시간이 없다

허리아프다